Record_log improve record exception and previous ones
This commit is contained in:
parent
fde7d62ac9
commit
47adc3b0c1
3 changed files with 83 additions and 20 deletions
|
|
@ -65,19 +65,22 @@ if (!file_exists('authorized_debug'))
|
|||
}
|
||||
define('ALLOWED', 1);
|
||||
load_all_script();
|
||||
|
||||
// To enable assert , set "zend.assertions" in the php.ini file
|
||||
ini_set("assert.active",1);
|
||||
assert_options(ASSERT_ACTIVE, 1);
|
||||
assert_options(ASSERT_WARNING, 1);
|
||||
// deprecated PHP8.3
|
||||
//ini_set("assert.active",1);
|
||||
//assert_options(ASSERT_ACTIVE, 1);
|
||||
//assert_options(ASSERT_WARNING, 1);
|
||||
//removed in PHP8 assert_options(ASSERT_QUIET_EVAL, 1);
|
||||
function my_assert_handler($file, $line, $code)
|
||||
{
|
||||
echo "<hr>Assert Failed :
|
||||
File '$file'<br />
|
||||
Line '$line'<br />
|
||||
Code '$code'<br /><hr />";
|
||||
}
|
||||
assert_options(ASSERT_CALLBACK, 'my_assert_handler');
|
||||
//
|
||||
//function my_assert_handler($file, $line, $code)
|
||||
//{
|
||||
// echo "<hr>Assert Failed :
|
||||
// File '$file'<br />
|
||||
// Line '$line'<br />
|
||||
// Code '$code'<br /><hr />";
|
||||
//}
|
||||
//assert_options(ASSERT_CALLBACK, 'my_assert_handler');
|
||||
/******************************************************************************************************************/
|
||||
/* Utilities
|
||||
/******************************************************************************************************************/
|
||||
|
|
|
|||
|
|
@ -1349,9 +1349,15 @@ function record_log($p_message)
|
|||
{
|
||||
|
||||
if ( gettype ($p_message) == "object" && method_exists($p_message,"getTraceAsString") == 1) {
|
||||
|
||||
error_log("noalyss exception ".$p_message->getMessage(),0);
|
||||
error_log("noalyss exception".$p_message->getTraceAsString(),0);
|
||||
$exc=$p_message;
|
||||
do {
|
||||
error_log("noalyss exception message [".$exc->getMessage()."]",0);
|
||||
error_log("noalyss exception code [".$exc->getCode()."]",0);
|
||||
error_log("noalyss exception trace ".$exc->getTraceAsString(),0);
|
||||
error_log("------ ",0);
|
||||
$exc=$exc->getPrevious();
|
||||
if ($exc != null )fwrite ($handle_log,"*********************** Previous *********************** \n");
|
||||
} while ($exc != null);
|
||||
} else {
|
||||
error_log("noalyss".var_export($p_message,true),0);
|
||||
|
||||
|
|
@ -1376,11 +1382,17 @@ function record_log($p_message)
|
|||
fwrite($handle_log,"_POST [".var_export($_POST,true)."]");
|
||||
fwrite ($handle_log,"\n");
|
||||
if ( gettype ($p_message) == "object" && method_exists($p_message,"getTraceAsString") == 1) {
|
||||
|
||||
fwrite($handle_log,"noalyss exception ".$p_message->getMessage());
|
||||
fwrite ($handle_log,"\n");
|
||||
fwrite($handle_log,"noalyss exception".$p_message->getTraceAsString());
|
||||
fwrite ($handle_log,"\n");
|
||||
$exc=$p_message;
|
||||
do {
|
||||
fwrite($handle_log,"noalyss exception message [".$exc->getMessage()."]");
|
||||
fwrite ($handle_log,"\n");
|
||||
fwrite($handle_log,"noalyss exception code [".$exc->getCode()."]");
|
||||
fwrite ($handle_log,"\n");
|
||||
fwrite($handle_log,"noalyss exception trace \n".$exc->getTraceAsString());
|
||||
fwrite ($handle_log,"\n");
|
||||
$exc=$exc->getPrevious();
|
||||
if ($exc != null )fwrite ($handle_log,"*********************** Previous *********************** \n");
|
||||
} while ($exc != null);
|
||||
} else {
|
||||
fwrite($handle_log,"noalyss".var_export($p_message,true));
|
||||
fwrite ($handle_log,"\n");
|
||||
|
|
@ -1388,7 +1400,7 @@ function record_log($p_message)
|
|||
}
|
||||
|
||||
fwrite ($handle_log,str_repeat("=", 80)."\n");
|
||||
|
||||
fclose($handle_log);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
48
scenario/record_log.php
Normal file
48
scenario/record_log.php
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
<?php
|
||||
//@description: Test record_log function for recording exception AC_COMMON.PHP
|
||||
/*
|
||||
* This file is part of NOALYSS.
|
||||
*
|
||||
* NOALYSS is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* NOALYSS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with NOALYSS; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
// Copyright Author Dany De Bontridder danydb@aevalys.eu 21/02/25
|
||||
/*!
|
||||
* \file
|
||||
* \brief testing functions from ac_common
|
||||
*/
|
||||
function y()
|
||||
{
|
||||
try {
|
||||
throw new Exception ("FUNCTION Y",1000);
|
||||
} catch (\Exception $e) {
|
||||
throw new Exception($e);
|
||||
}
|
||||
}
|
||||
function x()
|
||||
{
|
||||
try {
|
||||
y();
|
||||
|
||||
}catch(Exception $e) {
|
||||
throw new Exception("from X",2000,$e);
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
x();
|
||||
} catch (\Exception $e) {
|
||||
record_log($e);
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue