From 186938dac6d2be1c69ed114ece0b37565769d49f Mon Sep 17 00:00:00 2001 From: thomascube Date: Fri, 24 Jul 2009 08:49:53 +0000 Subject: Use write_log() to log bugs. This will also trigger the write_log plugin hook as requested in #1485998 --- program/include/bugs.inc | 28 +++++----------------------- program/include/main.inc | 3 +++ 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; } -- cgit v1.2.3