我目前在CodeIgniter 2中运行websocket
守护程序。该守护程序使用nohup
启动并在永久循环中运行。错误输出格式为HTML。但是,我希望将错误记录为 而不使用HTML格式 。 CodeIgniter是否可以选择使其成为可能?
修改
我不仅跟踪错误。我还保存了websocket
日志。该日志包含已运行的函数和其他有用信息。我不想隐藏日志中的错误,因为它们可能对跟踪某些错误很有用。我想记录我的自定义websocket
消息以及可能发生的错误。
守护程序启动命令:
nohup php /usr/share/nginx/html/index.php websocket server > /var/log/websocket/$(date +"%Y%m%d_%H%M%S") 2>&1 &
日志中的错误如下所示:
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
<h4>A PHP Error was encountered</h4>
<p>Severity: Notice</p>
<p>Message: Undefined index: REMOTE_ADDR</p>
<p>Filename: core/Input.php</p>
<p>Line Number: 351</p>
答案 0 :(得分:1)
我认为你把事情搞混了,有日志,而且页面/脚本产生了输出。
您正在做的是将脚本的输出保存到日志中,包括php错误,通知,警告和codeigniter错误(无法连接到数据库)。
据我所知,Codeigniter与PHP错误没什么关系,这意味着这种格式实际上来自php进程本身,据我所知,你不能阻止这种格式。 / p>
如果你想捕获所有错误,你可以抑制所有错误并使用php的本地error_get_last
方法,这将返回如下内容:
Array
(
[type] => 8
[message] => Undefined variable: a
[file] => C:\WWW\index.php
[line] => 2
)
但是,如果您遇到编译错误,此方法将无法工作,因为它需要首先编译代码。
Apache应该自动为你保存错误,我很确定可以在php.ini中配置但我暂时还没有完成。
总之,我并不认为将整个输出保存到日志中是跟踪错误的最佳方式。