Php:如何在syslog()中执行var_dump()?

kra*_*r65 0 php debugging logging syslog

我正在调试API的一些PHP代码,为​​此我使用syslog()来查看我的调试消息.问题是我想得到一些有用的日志.例如,是null还是false?通常我会使用var_dump(),但由于我正在使用API​​,var_dump,f*%$ s在API输出中.

我试过了syslog(LOG_ERR, var_dump($myVar));,但无济于事.

有人知道如何在syslog中"漂亮地打印"变量/数组吗?

Mar*_*c B 6

var_dump()直接输出.返回其格式化输出没有规定,因此您需要使用输出缓冲:

ob_start();
var_dump($something);
syslog(LOG_ERROR, ob_get_clean());
Run Code Online (Sandbox Code Playgroud)

注意,print_r()它有一个可选的第二个参数来强制它返回而不是输出:

syslog(LOG_ERROR, print_r($something, TRUE));
Run Code Online (Sandbox Code Playgroud)

  • 它是LOG_ERR而不是LOG_ERROR (2认同)