Made debug log better able to handle write errors without breaking things for no good reason

This commit is contained in:
PMKuipers 2024-05-24 09:30:16 +02:00
parent 3dd1682f5a
commit 09c6e4b029

View File

@ -23,6 +23,7 @@
namespace local_treestudyplan;
use Exception;
use JsonException;
defined('MOODLE_INTERNAL') || die();
@ -33,15 +34,21 @@ class debug {
* @return any The object
*/
public static function &dump(&$object,$filename="/tmp/debug.log") {
$f = fopen($filename,"a+");
try {
$json = \json_encode($object,JSON_PRETTY_PRINT | JSON_THROW_ON_ERROR );
fwrite($f,$json."\n");
} catch (Exception $x) {
fwrite($f,"Error processing json: ". $x->getMessage()."\n");
fwrite($f,"Print_r dump: \n".print_r($object,true)."\n");
$f = fopen($filename,"a+");
try {
$json = \json_encode($object,JSON_PRETTY_PRINT | JSON_THROW_ON_ERROR );
fwrite($f,$json."\n");
} catch (JsonException $x) {
fwrite($f,"Error processing json: ". $x->getMessage()."\n");
fwrite($f,"Print_r dump: \n".print_r($object,true)."\n");
}
} catch (\Exception $x){
} finally {
fclose($f);
}
fclose($f);
return $object;
}
@ -51,10 +58,13 @@ class debug {
* @return any The object
*/
public static function &print_r(&$object,$filename="/tmp/debug.log") {
$f = fopen($filename,"a+");
fwrite($f,"Print_r dump: \n".print_r($object,true)."\n");
fclose($f);
return $object;
try {
$f = fopen($filename,"a+");
fwrite($f,"Print_r dump: \n".print_r($object,true)."\n");
} catch (\Exception $x) {
} finally {
fclose($f);
}
}
@ -64,8 +74,12 @@ class debug {
* @return any The object
*/
public static function write($text,$filename="/tmp/debug.log") {
$f = fopen($filename,"a+");
fwrite($f,$text."\n");
fclose($f);
try {
$f = fopen($filename,"a+");
fwrite($f,$text."\n");
} catch (\Exception $x) {
} finally {
fclose($f);
}
}
}