PHP日志记录

2019-03-09  本文已影响0人  程序员有话说

背景

在生产环境中日志的重要性显而易见,能快速定位问题和程序的调优。在LNMP架构中怎么记录好程序中的错误日志。

设置error_log记录PHP日志信息

#将会向PHP报告发生的每个错误 
error_reporting  =  E_ALL
#关闭页面显示才能将错误回写到日志文件
display_errors = Off
#开启错误日志 
log_errors = On
#设置每个日志项的最大长度
log_errors_max_len = 1024 
#指定产生的错误
error_log = /var/php_errors.log 

不仅可以记录满足error_reporting所定义规则的所有错误,而且还可以使用PHP中的error_log()函数,送出一个用户自定义的错误信息。

# 程序中修改以上配置
ini_set("display_errors",0)
ini_set("error_reporting",E_ALL); //这个值好像是个PHP的常量
ini_set("error_log","<日志文件名>")
ini_set("log_errors",1);

php-fpm 错误日志

php-fpm只会记录php-fpm的错误信息

#默认位置 安装目录下的 log/php-fpm.log  
error_log = log/php-fpm.log  
#错误级别 alert(必须立即处理), error(错误情况), warning(警告情况), notice(一般重要信息), debug(调试信息). 默认: notice.
log_level = notice

php-fpm慢日志(检查哪个脚本执行时间长)

#设置慢日志的存放位置
slowlog = var/log/slow.log
#设置一个超时的参数
request_slowlog_timeout = 1s # 0则表示关闭

Nginx日志配置

作用域 : http, server, location, if in location, limit_except

log_format compression '$remote_addr - $remote_user [$time_local] '
                       '"$request" $status $bytes_sent '
                       '"$http_referer" "$http_user_agent" "$gzip_ratio"';

access_log /spool/logs/nginx-access.log compression buffer=32k;

如何解决nginx下php-fpm不记录php错误

上一篇下一篇

猜你喜欢

热点阅读