diff --git a/lib/SimpleSAML/Logger/LoggingHandlerFile.php b/lib/SimpleSAML/Logger/LoggingHandlerFile.php index d14381038a8806b8d3924df9641b4719df6f9c4b..f84d628117cea0f59a2ee846f35b02896c102fe0 100644 --- a/lib/SimpleSAML/Logger/LoggingHandlerFile.php +++ b/lib/SimpleSAML/Logger/LoggingHandlerFile.php @@ -10,6 +10,21 @@ */ class SimpleSAML_Logger_LoggingHandlerFile implements SimpleSAML_Logger_LoggingHandler { + + /** + * This array contains the mappings from syslog loglevel to names. Copied + * more or less directly from SimpleSAML_Logger_LoggingHandlerErrorLog. + */ + private static $levelNames = array( + LOG_EMERG => 'EMERGENCY', + LOG_ALERT => 'ALERT', + LOG_CRIT => 'CRITICAL', + LOG_ERR => 'ERROR', + LOG_WARNING => 'WARNING', + LOG_NOTICE => 'NOTICE', + LOG_INFO => 'INFO', + LOG_DEBUG => 'DEBUG', + ); private $logFile = null; private $processname = null; @@ -31,10 +46,17 @@ class SimpleSAML_Logger_LoggingHandlerFile implements SimpleSAML_Logger_LoggingH } } - function log_internal($level,$string) { + function log_internal($level, $string) { if ($this->logFile != null) { - $line = sprintf("%s %s %d %s\n",strftime("%b %d %H:%M:%S"),$this->processname,$level,$string); - file_put_contents($this->logFile,$line,FILE_APPEND); + + // Set human-readable log level. Copied from SimpleSAML_Logger_LoggingHandlerErrorLog. + if(array_key_exists($level, self::$levelNames)) + $levelName = self::$levelNames[$level]; + else + $levelName = sprintf('UNKNOWN%d', $level); + + $line = sprintf("%s %s %s %s\n", strftime("%b %d %H:%M:%S"), $this->processname, $levelName, $string); + file_put_contents($this->logFile, $line, FILE_APPEND); } } }