diff --git a/lib/common.php b/lib/common.php index 15ba1ed2a7..9d321f27d4 100644 --- a/lib/common.php +++ b/lib/common.php @@ -40,6 +40,7 @@ $config = 'server' => 'localhost', 'theme' => 'default', 'path' => '/', + 'logfile' => NULL, 'fancy' => false, 'email' => $_SERVER['SERVER_ADMIN'], 'broughtby' => NULL, diff --git a/lib/util.php b/lib/util.php index 8b17d873b0..432528074b 100644 --- a/lib/util.php +++ b/lib/util.php @@ -1063,15 +1063,19 @@ function common_ensure_syslog() { } function common_log($priority, $msg, $filename=NULL) { - common_ensure_syslog(); - syslog($priority, $msg); - global $config; - $log = fopen($config['site']['logfile'], "a"); - if ($log) { - $syslog_priorities = array('LOG_EMERG', 'LOG_ALERT', 'LOG_CRIT', 'LOG_ERR', 'LOG_WARNING', 'LOG_NOTICE', 'LOG_INFO', 'LOG_DEBUG'); - $output = date('Y-m-d H:i:s') . ' ' . $syslog_priorities[$priority] . ': ' . $msg . "\n"; - fwrite($log, $output); - fclose($log); + $logfile = common_config('site', 'logfile'); + if ($logfile) { + $log = fopen($logfile, "a"); + if ($log) { + static $syslog_priorities = array('LOG_EMERG', 'LOG_ALERT', 'LOG_CRIT', 'LOG_ERR', + 'LOG_WARNING', 'LOG_NOTICE', 'LOG_INFO', 'LOG_DEBUG'); + $output = date('Y-m-d H:i:s') . ' ' . $syslog_priorities[$priority] . ': ' . $msg . "\n"; + fwrite($log, $output); + fclose($log); + } + } else { + common_ensure_syslog(); + syslog($priority, $msg); } }