LOG4J 形式:
1. 下载 log4j-1.2.17.jar (底下下载的 zip 解压可以找到)
http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.17/log4j-1.2.17.zip
2. 下载 tomcat-juli-adapters.jar
https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.3/bin/extras/tomcat-juli-adapters.jar
https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.3/bin/extras/tomcat-juli-adapters.jar
4. 下载 tomcat
https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.3/bin/apache-tomcat-8.5.3.tar.gz
5. 替换 jar
把 tomcat-juli-adapters.jar 和log4j-1.2.17.jar放到apache-tomcat-8.5.3/lib目录
把 tomcat-juli-adapters.jar替换apache-tomcat-8.5.3/bin/tomcat-juli-adapters.jar
6. 缩写 log4j.properties文件 并把它放到 apache-tomcat-8.5.3/lib,文件内容如下红色部分:
log4j.rootLogger = INFO, CATALINA
# Define all the appenders
# log4j.appender.CATALINA = org.apache.log4j.DailyRollingFileAppender
# log4j.appender.CATALINA.DatePattern = '.'yyyy-MM-dd'.log'
# log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.CATALINA = org.apache.log4j.RollingFileAppender
log4j.appender.CATALINA.File = ${catalina.base}/logs/catalina.out
log4j.appender.CATALINA.Append = true
log4j.appender.CATALINA.Encoding = UTF-8
log4j.appender.CATALINA.MaxFileSize = 3KB
log4j.appender.CATALINA.MaxBackupIndex = 5
log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout
log4j.appender.LOCALHOST = org.apache.log4j.DailyRollingFileAppender
log4j.appender.LOCALHOST.File = ${catalina.base}/logs/localhost
log4j.appender.LOCALHOST.Append = true
log4j.appender.LOCALHOST.Encoding = UTF-8
log4j.appender.LOCALHOST.DatePattern = '.'yyyy-MM-dd'.log'
log4j.appender.LOCALHOST.layout = org.apache.log4j.PatternLayout
log4j.appender.LOCALHOST.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.MANAGER = org.apache.log4j.DailyRollingFileAppender
log4j.appender.MANAGER.File = ${catalina.base}/logs/manager
log4j.appender.MANAGER.Append = true
log4j.appender.MANAGER.Encoding = UTF-8
log4j.appender.MANAGER.DatePattern = '.'yyyy-MM-dd'.log'
log4j.appender.MANAGER.layout = org.apache.log4j.PatternLayout
log4j.appender.MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.HOST-MANAGER = org.apache.log4j.DailyRollingFileAppender
log4j.appender.HOST-MANAGER.File = ${catalina.base}/logs/host-manager
log4j.appender.HOST-MANAGER.Append = true
log4j.appender.HOST-MANAGER.Encoding = UTF-8
log4j.appender.HOST-MANAGER.DatePattern = '.'yyyy-MM-dd'.log'
log4j.appender.HOST-MANAGER.layout = org.apache.log4j.PatternLayout
log4j.appender.HOST-MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Encoding = UTF-8
log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
# Configure which loggers log to which appenders
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost] = INFO, LOCALHOST
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager] =\
INFO, MANAGER
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager] =\
INFO, HOST-MANAGER
7. 修改 context.xml
找到 Context 标签加上 swallowOutput="true", 例如:
<Context swallowOutput="true">
8. 删除 tomcat/conf/logging.properties
9. 测试 ( centos 7 )
启动 tomcat ,观察 logs 目录
给 catalina.out 写入内容,继续观察目录
===================================
自带的log mgr (
1. window: tomcat 日志是按每天生成,目测如果当天没有日志内容当天的日志文件没有生成,如果有当天有日志就生成一个当天的日志文件;
2. linux: 不会生成每天的一个日志文件,如果需要生成每天一个日志文件需要“手动”实现,可以使用 cronlog/lograte/定时脚本 ,或者使用上述提到的 log4j 来管理tomcat日志
)
10. 如果使用自清理日志管理的 logging.properties ,要看 bin/tomcat-juli.jar 有没有 maxDays 属性
参考文章:
tomcat+log4j: https://blog.csdn.net/yucaifu1989/article/details/78673132
juli logging.properties: https://www.cnblogs.com/MrSi/p/8297853.html