From bb17fc30faca41ada4d66ffe69c9a973ab5f2d30 Mon Sep 17 00:00:00 2001 From: Olav Morken <olav.morken@uninett.no> Date: Tue, 3 Jun 2008 05:19:09 +0000 Subject: [PATCH] Added possibility to log using the php error_log function. git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@586 44740490-163a-0410-bde0-09ae8108e29a --- config-templates/config.php | 2 +- lib/SimpleSAML/Logger.php | 3 ++ .../Logger/LoggingHandlerErrorLog.php | 42 +++++++++++++++++++ 3 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 lib/SimpleSAML/Logger/LoggingHandlerErrorLog.php diff --git a/config-templates/config.php b/config-templates/config.php index 9db884449..71ad261a7 100644 --- a/config-templates/config.php +++ b/config-templates/config.php @@ -84,7 +84,7 @@ $config = array ( * * Choose logging handler. * - * Options: [syslog,file] + * Options: [syslog,file,errorlog] * */ 'logging.level' => LOG_NOTICE, diff --git a/lib/SimpleSAML/Logger.php b/lib/SimpleSAML/Logger.php index b5c20d7df..530469afd 100644 --- a/lib/SimpleSAML/Logger.php +++ b/lib/SimpleSAML/Logger.php @@ -133,6 +133,9 @@ class SimpleSAML_Logger { } elseif ($handler === 'file') { require_once((isset($SIMPLESAML_INCPREFIX)?$SIMPLESAML_INCPREFIX:'') . 'SimpleSAML/Logger/LoggingHandlerFile.php'); $sh = new SimpleSAML_Logger_LoggingHandlerFile(); + } elseif ($handler === 'errorlog') { + require_once((isset($SIMPLESAML_INCPREFIX)?$SIMPLESAML_INCPREFIX:'') . 'SimpleSAML/Logger/LoggingHandlerErrorLog.php'); + $sh = new SimpleSAML_Logger_LoggingHandlerErrorLog(); } else { throw new Exception('Invalid value for the [logging.handler] configuration option. Unknown handler: ' . $handler); } diff --git a/lib/SimpleSAML/Logger/LoggingHandlerErrorLog.php b/lib/SimpleSAML/Logger/LoggingHandlerErrorLog.php new file mode 100644 index 000000000..bf52f864c --- /dev/null +++ b/lib/SimpleSAML/Logger/LoggingHandlerErrorLog.php @@ -0,0 +1,42 @@ +<?php + +require_once((isset($SIMPLESAML_INCPREFIX)?$SIMPLESAML_INCPREFIX:'') . 'SimpleSAML/Logger.php'); + +/** + * A class for logging to the default php error log. + * + * @author Lasse Birnbaum Jensen, SDU. + * @author Andreas Ă…kre Solberg, UNINETT AS. <andreas.solberg@uninett.no> + * @author Olav Morken, UNINETT AS. + * @package simpleSAMLphp + * @version $ID$ + */ +class SimpleSAML_Logger_LoggingHandlerErrorLog implements SimpleSAML_Logger_LoggingHandler { + + /** + * This array contains the mappings from syslog loglevel to names. + */ + private static $levelNames = array( + LOG_EMERG => 'EMERG', + LOG_ALERT => 'ALERT', + LOG_CRIT => 'CRIT', + LOG_ERR => 'ERR', + LOG_WARNING => 'WARNING', + LOG_NOTICE => 'NOTICE', + LOG_INFO => 'INFO', + LOG_DEBUG => 'DEBUG', + ); + + + function log_internal($level, $string) { + if(array_key_exists($level, self::$levelNames)) { + $levelName = self::$levelNames[$level]; + } else { + $levelName = sprintf('UNKNOWN%d', $level); + } + + error_log($levelName . ': ' . $string); + } +} + +?> \ No newline at end of file -- GitLab