diff --git a/core/logging_api.php b/core/logging_api.php index f86b88062e..0cd7b42d65 100644 --- a/core/logging_api.php +++ b/core/logging_api.php @@ -81,7 +81,23 @@ function log_event( $p_level, $p_msg ) { # Is this called from another function? if( isset( $t_backtrace[1] ) ) { - $t_caller .= ' ' . $t_backtrace[1]['function'] . '()'; + if( $p_level == LOG_DATABASE ) { + if( isset( $t_backtrace[2] ) && $t_backtrace[2]['function'] == 'call_user_func_array' ) { + $t_caller = basename( $t_backtrace[3]['file'] ); + $t_caller .= ':' . $t_backtrace[3]['line']; + $t_caller .= ' ' . $t_backtrace[3]['function'] . '()'; + } else if( $t_backtrace[1]['function'] == 'db_query' ) { + $t_caller = basename( $t_backtrace[1]['file'] ); + $t_caller .= ':' . $t_backtrace[1]['line']; + if( isset( $t_backtrace[2] ) ) { + $t_caller .= ' ' . $t_backtrace[2]['function'] . '()'; + } else { + $t_caller .= ' ' . $t_backtrace[1]['function'] . '()'; + } + } + } else { + $t_caller .= ' ' . $t_backtrace[1]['function'] . '()'; + } } else { # or from a script directly? $t_caller .= ' ' . $_SERVER['SCRIPT_NAME'];