Debian日志级别设置需根据实际需求调整,以下是针对系统日志服务(rsyslog/syslog-ng)和应用程序的设置方法及注意事项:
修改配置文件:
编辑 /etc/rsyslog.conf 或 /etc/rsyslog.d/*.conf,通过指定设施(facility)和优先级(priority)设置级别。
*.info /var/log/syslog # 记录info及以上级别日志。kern.warning /var/log/kernel.log # 仅记录内核warning及以上级别日志。*.crit;auth,authpriv.none /var/log/critical.log(记录crit级别且非auth/authpriv设施的日志)。重启服务:修改后执行 sudo systemctl restart rsyslog 生效。
修改配置文件:
编辑 /etc/syslog-ng/syslog-ng.conf,通过 level() 指定级别。
filter f_all { level(debug..emerg); }; # 记录debug到emerg级别日志。log { source(s_src); filter(f_all); destination(d_all); };。重启服务:执行 sudo systemctl restart syslog-ng 生效。
不同应用配置文件路径不同,通常在 /etc/[应用名]/[配置文件] 中设置,修改后重启应用。
/etc/nginx/nginx.conf,找到 error_log 行,将级别改为 debug/info 等:error_log /var/log/nginx/error.log debug; # 记录debug级别日志。/etc/apache2/apache2.conf,修改 LogLevel:LogLevel info # 可选值:debug, info, warn, error, crit。级别含义:
emerg(0):系统不可用(需立即处理);alert(1):必须立即采取行动;crit(2):严重错误(影响系统功能);err(3):错误(可能影响功能);warning(4):警告(潜在问题);notice(5):正常但重要的信息;info(6):一般运行信息;debug(7):详细调试信息(日志量较大)。生产环境建议:
debug 长期运行,可能导致日志文件过大,占用磁盘空间。info 或 warn 级别,便于故障排查。日志轮转:
配合 logrotate 工具定期清理旧日志,避免磁盘占满。可通过编辑 /etc/logrotate.conf 或 /etc/logrotate.d/[服务名] 设置轮转策略。
根据实际需求选择合适的级别,优先在测试环境验证配置后再应用到生产环境。