(本文档仅供参考)
Tomcat 默认使用java.util.logging 作为日志输出,在出现异常时有可能没有很好的输出异常信息,导致不容易跟踪问题。因此在某些情况下可以修改为使用 Log4j2作为日志输出
创建一个log4j2.xml文件放在 Tomcat 的 lib 目录中
log4j2.xml<?xml version="1.0" encoding="utf-8"?> <Configuration status="info"> <Properties> <Property name="logdir">${sys:catalina.base}/logs</Property> <Property name="layout">%d [%t] %-5p %c-%m%n</Property> </Properties> <Appenders> <Console name="CONSOLE" target="SYSTEM_OUT"> <PatternLayout charset="UTF-8" pattern="${layout}" /> </Console> <RollingFile name="CATALINA" fileName="${logdir}/catalina.log" filePattern="${logdir}/catalina.%d{yyyy-MM-dd}.log.gz"> <PatternLayout charset="UTF-8" pattern="${layout}" /> <!-- DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件,这里设置了20 --> <SizeBasedTriggeringPolicy size="50MB" /> <DefaultRolloverStrategy max="20" /> </RollingFile> <RollingFile name="LOCALHOST" fileName="${logdir}/localhost.log" filePattern="${logdir}/localhost.%d{yyyy-MM-dd}-%i.log.gz"> <PatternLayout charset="UTF-8" pattern="${layout}" /> <SizeBasedTriggeringPolicy size="50MB" /> <DefaultRolloverStrategy max="20" /> </RollingFile> </Appenders> <Loggers> <Logger name="org.apache.catalina.core.ContainerBase.[Catalina].[localhost]" level="info"> <AppenderRef ref="LOCALHOST" /> </Logger> <Root level="info"> <AppenderRef ref="CATALINA" /> <AppenderRef ref="CONSOLE" /> </Root> </Loggers> </Configuration>
- 三个 log4j2 的jar包(log4j-1.2-api-2.3.2.jar,log4j-api-2.3.2.jar,log4j-core-2.3.2.jar)和 tomcat-juli-adapters.jar放到 tomact 目录下的lib文件夹下
tomcat-juli.jar 替换tomcat目录下 bin 文件夹下的同名文件 - 配置文件
删除或重命名tomact目录下conf文件夹下的logging.properties文件
log4j2.xml,放到tomcat目录下lib文件夹下 - 启动tomcat,在tomcat目录下logs文件夹下查看日志文件