Tomcat在Linux上的日志级别设置步骤
Tomcat的日志级别主要通过conf/logging.properties文件配置(部分场景需结合conf/server.xml调整访问日志)。该文件定义了日志记录器(Logger)、处理器(Handler)及日志级别的对应关系。
使用Linux文本编辑器(如vim、nano)打开配置文件(需root或对应用户权限):
sudo vim $CATALINA_HOME/conf/logging.properties
其中$CATALINA_HOME为Tomcat安装目录(如/opt/tomcat)。
在文件顶部或handlers定义前,通过.level参数设置根日志记录器的级别(影响所有未单独配置的组件)。常见级别从低到高为:
SEVERE(严重错误)→ WARNING(警告)→ INFO(常规信息,默认)→ CONFIG(配置信息)→ FINE(调试细节)→ FINER(更详细调试)→ FINEST(最详细调试)。
例如,设置为INFO级别:
.level = INFO
针对Tomcat核心组件(如Catalina容器、Coyote连接器)或自定义应用包,可通过包名.level参数单独配置。例如:
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.coyote.level = WARNING
com.example.myapp):com.example.myapp.level = FINE
处理器决定日志的输出目的地(控制台、文件等)。常见处理器配置如下:
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
FileHandler参数,指定日志文件路径、大小、数量:1catalina.org.apache.juli.FileHandler.level = INFO
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.
1catalina.org.apache.juli.FileHandler.maxDays = 7 # 日志保留7天
1catalina.org.apache.juli.FileHandler.formatter = java.util.logging.SimpleFormatter
修改完成后,保存文件并退出编辑器。通过以下命令重启Tomcat使配置生效:
# 进入Tomcat bin目录
cd $CATALINA_HOME/bin
# 停止Tomcat
./shutdown.sh
# 启动Tomcat
./startup.sh
或使用systemctl(若Tomcat注册为系统服务):
sudo systemctl restart tomcat
检查$CATALINA_HOME/logs目录下的日志文件(如catalina.out、localhost.log),确认日志输出是否符合预期。例如,若设置INFO级别,应能看到常规运行信息;若设置FINE级别,会输出更多调试细节。
若需调整访问日志(记录HTTP请求),可编辑conf/server.xml,修改AccessLogValve参数:
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="localhost_access_log"
suffix=".txt"
pattern="%h %l %u %t "%r" %s %b"
rotatable="true"
maxDays="30" />
pattern:定义日志格式(如%h为客户端IP、%r为请求行);maxDays:日志保留天数(自动轮转)。