温馨提示×

Tomcat在Linux上的日志级别如何设置

小樊
47
2025-10-06 08:41:49
栏目: 智能运维

Tomcat在Linux上的日志级别设置步骤

1. 找到日志配置文件

Tomcat的日志级别主要通过conf/logging.properties文件配置(部分场景需结合conf/server.xml调整访问日志)。该文件定义了日志记录器(Logger)、处理器(Handler)及日志级别的对应关系。

2. 编辑logging.properties文件

使用Linux文本编辑器(如vimnano)打开配置文件(需root或对应用户权限):

sudo vim $CATALINA_HOME/conf/logging.properties

其中$CATALINA_HOME为Tomcat安装目录(如/opt/tomcat)。

3. 设置全局日志级别

在文件顶部或handlers定义前,通过.level参数设置根日志记录器的级别(影响所有未单独配置的组件)。常见级别从低到高为:
SEVERE(严重错误)→ WARNING(警告)→ INFO(常规信息,默认)→ CONFIG(配置信息)→ FINE(调试细节)→ FINER(更详细调试)→ FINEST(最详细调试)。
例如,设置为INFO级别:

.level = INFO

4. 设置特定组件/包的日志级别

针对Tomcat核心组件(如Catalina容器、Coyote连接器)或自定义应用包,可通过包名.level参数单独配置。例如:

  • Catalina容器(核心组件):
    org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
    
  • Coyote连接器(HTTP/HTTPS请求处理):
    org.apache.coyote.level = WARNING
    
  • 自定义应用(如com.example.myapp):
    com.example.myapp.level = FINE
    

5. 配置日志处理器(可选)

处理器决定日志的输出目的地(控制台、文件等)。常见处理器配置如下:

  • 控制台输出(默认):
    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
    

6. 保存并重启Tomcat

修改完成后,保存文件并退出编辑器。通过以下命令重启Tomcat使配置生效:

# 进入Tomcat bin目录
cd $CATALINA_HOME/bin
# 停止Tomcat
./shutdown.sh
# 启动Tomcat
./startup.sh

或使用systemctl(若Tomcat注册为系统服务):

sudo systemctl restart tomcat

7. 验证日志级别

检查$CATALINA_HOME/logs目录下的日志文件(如catalina.outlocalhost.log),确认日志输出是否符合预期。例如,若设置INFO级别,应能看到常规运行信息;若设置FINE级别,会输出更多调试细节。

补充:通过server.xml配置访问日志(可选)

若需调整访问日志(记录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:日志保留天数(自动轮转)。

0