summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2009-07-24 08:49:53 +0000
committerthomascube <thomas@roundcube.net>2009-07-24 08:49:53 +0000
commit186938dac6d2be1c69ed114ece0b37565769d49f (patch)
tree505fc04e7e63769744d3b174549ce995ba6f707a
parentf78dab1c80c27cd64b5e1f967da20fd43c17006d (diff)
Use write_log() to log bugs. This will also trigger the write_log plugin hook as requested in #1485998
-rw-r--r--program/include/bugs.inc28
-rw-r--r--program/include/main.inc3
2 files changed, 8 insertions, 23 deletions
diff --git a/program/include/bugs.inc b/program/include/bugs.inc
index c5dac1e08..1031bdb73 100644
--- a/program/include/bugs.inc
+++ b/program/include/bugs.inc
@@ -5,7 +5,7 @@
| program/include/bugs.inc |
| |
| This file is part of the RoudCube Webmail client |
- | Copyright (C) 2005-2007, RoudCube Dev - Switzerland |
+ | Copyright (C) 2005-2009, RoudCube Dev - Switzerland |
| Licensed under the GNU GPL |
| |
| PURPOSE: |
@@ -69,38 +69,20 @@ function log_bug($arg_arr)
global $CONFIG;
$program = strtoupper($arg_arr['type']);
- if (empty($CONFIG['log_date_format']))
- $CONFIG['log_date_format'] = 'd-M-Y H:i:s O';
-
// write error to local log file
if ($CONFIG['debug_level'] & 1)
{
$post_query = ($_SERVER['REQUEST_METHOD'] == 'POST' ? '?_task='.urlencode($_POST['_task']).'&_action='.urlencode($_POST['_action']) : '');
- $log_entry = sprintf("[%s] %s Error: %s%s (%s %s)\n",
- date($CONFIG['log_date_format']),
+ $log_entry = sprintf("%s Error: %s%s (%s %s)\n",
$program,
$arg_arr['message'],
$arg_arr['file'] ? sprintf(' in %s on line %d', $arg_arr['file'], $arg_arr['line']) : '',
$_SERVER['REQUEST_METHOD'],
$_SERVER['REQUEST_URI'] . $post_query);
-
- if (empty($CONFIG['log_dir']))
- $CONFIG['log_dir'] = INSTALL_PATH.'logs';
-
- // try to open specific log file for writing
- if ($CONFIG['log_driver'] == 'syslog')
- {
- syslog(LOG_ERR, $log_entry);
- }
- else if ($fp = @fopen($CONFIG['log_dir'].'/errors', 'a'))
- {
- // log_driver == 'file' is the default, assumed here.
- fwrite($fp, $log_entry);
- fclose($fp);
- }
- else
+
+ if (!write_log('errors', $log_entry))
{
- // send error to PHPs error handler
+ // send error to PHPs error handler if write_log didn't succeed
trigger_error($arg_arr['message']);
}
}
diff --git a/program/include/main.inc b/program/include/main.inc
index ba2f690af..09b8c78d4 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -1012,6 +1012,7 @@ function write_log($name, $line)
if ($CONFIG['log_driver'] == 'syslog') {
$prio = $name == 'errors' ? LOG_ERR : LOG_INFO;
syslog($prio, $log_entry);
+ return true;
}
else {
// log_driver == 'file' is assumed here
@@ -1023,8 +1024,10 @@ function write_log($name, $line)
fwrite($fp, $log_entry);
fflush($fp);
fclose($fp);
+ return true;
}
}
+ return false;
}