我在我的一些服务器上运行 nginx 1.4.2 Web 服务器,并注意到所有 HTTP 401、404 和 500 响应都被记录到访问日志文件而不是错误日志文件中。
有没有办法配置 nginx 来记录 HTTP 401、404 和 500 对错误日志的响应?
我在我的一些服务器上运行 nginx 1.4.2 Web 服务器,并注意到所有 HTTP 401、404 和 500 响应都被记录到访问日志文件而不是错误日志文件中。
有没有办法配置 nginx 来记录 HTTP 401、404 和 500 对错误日志的响应?
如果你不修改 nginx 源码或者开发 3rd nginx 模块,就没有办法做到这一点。
您应该知道error_log
消息被硬编码到 nginx 源或第三个 nginx 模块中。
error_log
是帮助你了解 nginx 做了什么的信息。
nginx源码中的一个例子如下:
ngx_log_error(NGX_LOG_INFO, c->log, 0, "client sent too large request");
而access_log
message是一个http请求的记录。
所以最好不要把access_log
和error_log
放在同一个文件里。
顺便说一句,开发第三个模块是个好主意,它可以根据响应状态将请求记录到不同的文件。