Solve the problem that catalina.out is too large

Let’s talk about the tomcat project first. The common function of log cutting is that a well-known open source project such as tomcat is not enabled by default. The production environment will not run for a few days, and the disk will be full, and there are many methods circulating on the Internet, such as modifying conf/logging. .properties file, set the level to OFF, I tried it and it doesn't seem to work (tomcat 8.5.9.0 version + centos 6.5 + jdk1.8 environment)

Correct posture:

1. Download https://mirrors.tuna.tsinghua.edu.cn/apache/logging/log4j/1.2.17/log4j-1.2.17.tar.gz, after decompression, put apache-log4j-1.2.17 in it Copy the /log4j-1.2.17.jar file to the {tomcat_home}/lib directory

2. Download http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.0.39/bin/extras/tomcat-juli-adapters.jar to the {tomcat_home}/lib directory

3. Create the log4j.properties file under {tomcat_home}/lib. The content is as follows:
log4j.rootLogger=WARN, CATALINA

#Define all the appenders
log4j.appender.CATALINA=org.apache.log4j.RollingFileAppender
log4j.appender.CATALINA.File=${catalina.base}/logs/catalina.log
log4j.appender.CATALINA.MaxFileSize=10240KB
log4j.appender.CATALINA.MaxBackupIndex=100
log4j.appender.CATALINA.Append=true
log4j.appender.CATALINA.Encoding=UTF-8
log4j.appender.CATALINA.DatePattern='.'yyyy-MM-dd-HH-mm'.log'
log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout
log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n

log4j.appender.LOCALHOST=org.apache.log4j.DailyRollingFileAppender
log4j.appender.LOCALHOST.File=${catalina.base}/logs/localhost.log
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.log
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.log
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]=WARN, LOCALHOST
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager]=WARN, MANAGER
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager]=WARN, HOST-MANAGER
4、下载http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.0.39/bin/extras/tomcat-juli.jar,用这个jar替换掉{tomcat_home}/bin下的同名文件

5. Delete the {tomcat_home}/conf/logging.properties file

6. Delete the history log of {tomcat_home}\logs\ (mainly the file catalina.out)

7. Kill the tomcat process and restart

If it goes well, the catalina.out file in the logs/ directory should not be regenerated, but it is actually found that sometimes this still does not work, and it is necessary to make another drastic move.

8. Modify {tomcat_home}/bin/catalina.sh and find the following location

if [ -z "$CATALINA_OUT" ] ; then
#CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
CATALINA_OUT=/dev/null
fi
is about line 207, change the directory of CATALINA_OUT to the empty device /dev/null, Then restart tomcat

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325981821&siteId=291194637