1. 日志级别分类与含义
Tomcat日志级别从高到低分为:SEVERE(最高,严重错误)、WARNING(警告信息)、INFO(一般运行信息,默认级别)、CONFIG(配置信息)、FINE(详细调试信息)、FINER(更详细调试信息)、FINEST(最详细调试信息,最低级别)。选择合适级别需平衡调试需求与日志体积。
2. 默认日志配置路径
Debian下Tomcat的日志配置主要通过$CATALINA_BASE/conf/logging.properties文件设置($CATALINA_BASE通常为/opt/tomcat或/usr/share/tomcat),该文件定义了各类日志的输出级别、路径及格式。
3. 不同场景的日志级别建议
INFO或WARNING级别。INFO可记录应用启动、停止、请求处理等一般信息,便于日常监控;WARNING仅记录潜在问题(如内存不足、连接超时),减少不必要的日志输出,降低磁盘占用和I/O开销。FINE或FINER级别。FINE可记录方法调用、SQL执行等详细信息,帮助开发者定位代码问题;FINER提供更细粒度的调试信息(如线程堆栈),但会增加日志体积,不建议长期开启。org.apache.catalina.connector连接器),可在logging.properties中单独设置该组件的日志级别,例如:org.apache.catalina.connector.level = FINE,避免全局提升日志级别带来的性能影响。4. 日志级别配置步骤
编辑$CATALINA_BASE/conf/logging.properties文件,找到对应Handler或Logger的level参数进行修改:
1catalina.org.apache.juli.FileHandler.level = INFO # Catalina引擎日志级别
2localhost.org.apache.juli.FileHandler.level = INFO # localhost组件日志级别
java.util.logging.ConsoleHandler.level = INFO # 控制台输出级别
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO # localhost上下文日志级别
org.apache.jasper.level = WARNING # JSP编译器日志级别(减少JSP编译日志)
修改完成后,重启Tomcat使配置生效:$CATALINA_HOME/bin/shutdown.sh && $CATALINA_HOME/bin/startup.sh。
5. 日志轮转配置(可选但重要)
为防止日志文件过大占用磁盘空间,建议使用logrotate工具进行自动轮转。在/etc/logrotate.d/tomcat中添加以下配置:
/opt/tomcat/logs/catalina.out {
daily # 每天轮转
rotate 30 # 保留30个备份
compress # 压缩旧日志(节省空间)
missingok # 若日志不存在也不报错
notifempty # 若日志为空则不轮转
copytruncate # 复制日志后清空原文件(不影响Tomcat运行)
dateext # 使用日期作为备份文件后缀(如catalina.out-20251009)
}
该配置可实现日志的自动管理,无需手动删除旧日志。