编程语言
首页 > 编程语言> > php – 更改错误日志输出格式:ini_set(‘error_append_string’,’string’)和ini_set(‘error_prepend_string’,’string’)什么

php – 更改错误日志输出格式:ini_set(‘error_append_string’,’string’)和ini_set(‘error_prepend_string’,’string’)什么

作者:互联网

这就是我告诉php要做的事情:

<?php
error_reporting(E_ALL);
ini_set('display_errors', '0');
ini_set('log_errors', 1);
ini_set('error_log', 'errors.log');
ini_set('error_append_string', 'APP');
ini_set('error_prepend_string', 'PRE');
?>

希望我能在一个文件中报告所有错误,在消息之前使用“PRE”,在消息之后使用“APP”. (我的目标是让PRE和APP成为/ n / r或者……)

但我的错误报告日志如下所示:

[14-May-2013 00:16:26] PHP Notice: Undefined variable:
nonexistentvariable in /home/www/dir/index.php on line 14[14-May-2013
00:16:28] PHP Notice: Undefined variable: nonexistentvariable in
/home/www/dir/index.php on line 14

没有PRE,没有APP ……

我如何在那里得到它,以便我的错误报告文件将在换行符上出现每个错误,而不是对我没有帮助的一连串错误?

编辑:
所以我注意到了ini_set(‘display_errors’,’1′); “APP”和“PRE”字符串显示在页面上的错误消息中.

这意味着我真的需要找出我可以在哪里更改php记录错误的格式.例如,整个时间戳的东西 – 指定的位置在哪里?

编辑:
不可能改变php记录错误的方式,你必须自己制作错误处理程序.

回答:
为了真正实现我的目标,我提出了一个不同的问题(更准确地说).
How to change the way PHP writes errors in the error log file?

解决方法:

由于文档没有说明,我已经测试了你的例子.我意识到error_append / prepend_string仅适用于显示但未记录的错误

My goal is to make PRE and APP into /n /r or something…

你应该使用正则表达式.应该是可能的,因为每条日志消息都以几乎相同的前缀开头.准备一个….

标签:php,error-reporting
来源: https://codeday.me/bug/20190529/1178342.html