summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorPaul 'flowerysong' Arthur <flowerysong00@yahoo.com>2010-06-13 08:05:20 +0000
committerPaul 'flowerysong' Arthur <flowerysong00@yahoo.com>2010-06-13 08:05:20 +0000
commit93f4a26ab07207e1f9a8e716a82c5d8812d5344c (patch)
tree74ef70b455a97c5f7ad8595ac47fc56cc4c60d5c /lib
parentdc495ea8ea69d741b39fc952c470f98866f469e1 (diff)
downloadampache-93f4a26ab07207e1f9a8e716a82c5d8812d5344c.tar.gz
ampache-93f4a26ab07207e1f9a8e716a82c5d8812d5344c.tar.bz2
ampache-93f4a26ab07207e1f9a8e716a82c5d8812d5344c.zip
Logging. Use constants instead of numeric values in the switch, bump
notices, warnings, and ignored messages to level 6 instead of ignoring them completely.
Diffstat (limited to 'lib')
-rw-r--r--lib/log.lib.php131
1 files changed, 68 insertions, 63 deletions
diff --git a/lib/log.lib.php b/lib/log.lib.php
index 0b3e3587..e7cfa787 100644
--- a/lib/log.lib.php
+++ b/lib/log.lib.php
@@ -20,23 +20,25 @@
*/
-/*!
- @function log_event
- @discussion logs an event either to a database
- or to a defined log file based on config options
-*/
-function log_event($username='Unknown',$event_name,$event_description,$log_name='ampache') {
+/*
+ * log_event
+ * Logs an event to a defined log file based on config options
+ */
+function log_event($username, $event_name, $event_description, $log_name) {
/* Set it up here to make sure it's _always_ the same */
- $log_time = time();
+ $time = time();
+ // Turn time into strings
+ $log_day = date('Ymd', $time);
+ $log_time = date('Y-m-d H:i:s', $time);
/* must have some name */
- if (!strlen($log_name)) { $log_name = 'ampache'; }
+ $log_name = $log_name ? $log_name : 'ampache';
+ $username = $username ? $username : 'ampache';
- $username = $username ? $username : 'ampache';
-
- $log_filename = Config::get('log_path') . "/$log_name." . date("Ymd",$log_time) . ".log";
- $log_line = date("Y-m-d H:i:s",$log_time) . " [$username] ($event_name) -> $event_description \n";
+ $log_filename = Config::get('log_path') . "/$log_name.$log_day.log";
+ $log_line = "$log_time [$username] ($event_name) -> $event_description \n";
+ // Do the deed
$log_write = error_log($log_line, 3, $log_filename);
if (!$log_write) {
@@ -45,10 +47,10 @@ function log_event($username='Unknown',$event_name,$event_description,$log_name=
} // log_event
-/*!
- @function ampache_error_handler
- @discussion an error handler for ampache that traps
- as many errors as it can and logs em
+/*
+ * ampache_error_handler
+ * An error handler for ampache that traps as many errors as it can and logs
+ * them.
*/
function ampache_error_handler($errno, $errstr, $errfile, $errline) {
@@ -56,60 +58,63 @@ function ampache_error_handler($errno, $errstr, $errfile, $errline) {
$level = 1;
switch ($errno) {
- case '2':
- $error_name = "Runtime Error";
- break;
- case '128':
- case '8':
- case '32':
- return true;
- break;
- case '1':
- $error_name = "Fatal run-time Error";
- break;
- case '4':
- $error_name = "Parse Error";
- break;
- case '16':
- $error_name = "Fatal Core Error";
- break;
- case '64':
- $error_name = "Zend run-time Error";
- break;
+ case E_WARNING:
+ $error_name = 'Runtime Error';
+ break;
+ case E_COMPILE_WARNING:
+ case E_NOTICE:
+ case E_CORE_WARNING:
+ $error_name = 'Warning';
+ $level = 6;
+ break;
+ case E_ERROR:
+ $error_name = 'Fatal run-time Error';
+ break;
+ case E_PARSE:
+ $error_name = 'Parse Error';
+ break;
+ case E_CORE_ERROR:
+ $error_name = 'Fatal Core Error';
+ break;
+ case E_COMPILE_ERROR:
+ $error_name = 'Zend run-time Error';
+ break;
+ case E_STRICT:
+ $error_name = "Strict Error";
+ break;
default:
$error_name = "Error";
$level = 2;
- break;
+ break;
} // end switch
-
- /* Don't log var: Deprecated we know shutup!
- * Yea now getid3() spews errors I love it :(
- */
- if (strstr($errstr,"var: Deprecated. Please use the public/private/protected modifiers") OR
- strstr($errstr,"getimagesize() [") OR strstr($errstr,"Non-static method getid3") OR
- strstr($errstr,"Assigning the return value of new by reference is deprecated")) {
- return false;
+ // List of things that should only be displayed if they told us to turn
+ // on the firehose
+ $ignores = array(
+ // We know var is deprecated, shut up
+ 'var: Deprecated. Please use the public/private/protected modifiers',
+ // getid3 spews errors, yay!
+ 'getimagesize() [',
+ 'Non-static method getid3',
+ 'Assigning the return value of new by reference is deprecated',
+ // The XML-RPC lib is broken (kinda)
+ 'used as offset, casting to integer'
+ );
+
+ foreach($ignores as $ignore) {
+ if (strpos($errstr, $ignore) !== false) {
+ $error_name = 'Ignored ' . $error_name;
+ $level = 6;
+ }
}
- if (strstr($errstr,"date.timezone")) {
- $error_name = "Warning";
- $errstr = "You have not set a valid timezone (date.timezone) in your php.ini file. This may cause display issues with dates. This warning is non-critical and not caused by Ampache.";
- }
-
- /* The XML-RPC lib is broken, well kind of
- * shut your pie hole
- */
- if (strstr($errstr,"used as offset, casting to integer")) {
- return false;
+ if (strpos($errstr,"date.timezone") !== false) {
+ $error_name = 'Warning';
+ $errstr = 'You have not set a valid timezone (date.timezone) in your php.ini file. This may cause display issues with dates. This warning is non-critical and not caused by Ampache.';
}
$log_line = "[$error_name] $errstr in file $errfile($errline)";
- debug_event('PHP Error',$log_line,$level);
-
- // When a dir is defined lets log it to a logfile
- if (Config::get('log_path') != "")
- log_event("ampache","PHP Error", $log_line);
+ debug_event('PHP', $log_line, $level, '', 'ampache');
} // ampache_error_handler
@@ -119,17 +124,17 @@ function ampache_error_handler($errno, $errstr, $errfile, $errline) {
* log_event. It checks for conf('debug') and conf('debug_level') and only
* calls log event if both requirements are met.
*/
-function debug_event($type,$message,$level,$file='',$username='') {
+function debug_event($type, $message, $level, $file = '', $username = '') {
if (!Config::get('debug') || $level > Config::get('debug_level')) {
return false;
}
- if (!$username) {
+ if (!$username && isset($GLOBALS['user'])) {
$username = $GLOBALS['user']->username;
}
- log_event($username,$type,$message,$file);
+ log_event($username, $type, $message, $file);
} // debug_event