tomcat7 配置log4j 进行日志分割

来源:互联网 发布:台达dop触摸屏编程软件 编辑:程序博客网 时间:2024/06/16 08:31

在tomcat的使用中,tomcat的日志catalina.out会无限增加,通常一段时间不管就会到几个G,当其太大后,会影响到tomcat的启动,而分割日志的方法有很多,这里记录一下利用log4j进行日志分割的方法。

环境:

Centos7

JDK-1.8

Tomcat-7.0.79


1. 要使用log4j接管日志,需要三个tomcat的jar包,如下L

log4j-1.2.17.jar

tomcat-juli.ja

tomcat-juli-adapters.jar

下载后,将这三个jar包,放到tomcat根目录下的lib文件夹内。然后再将tomcat-juli.jar 复制一份到tomcat根目录的bin目录下,覆盖原来的jar包。


2. 配置log4j的配置文件,用来自定义日志输出。再tomcat根目录的lib文件夹内新建log4j.properties 文件,进行配置:

vim {tomcat-dir}/lib/log4j.properties
log4j.rootLogger=INFO, CATALINA    # Define all the appenders  log4j.appender.CATALINA=org.apache.log4j.DailyRollingFileAppender  log4j.appender.CATALINA.File={tomcat-dir}/logs/catalina.out   # 自定义日志输出目录和文件。  log4j.appender.CATALINA.Append=true  log4j.appender.CATALINA.Encoding=UTF-8  # 这里UTF-8后面不能有空格,下同# Roll-over the log once per day  log4j.appender.CATALINA.DatePattern='.'yyyy-MM-dd  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={tomcat-dir}/logs/localhost  log4j.appender.LOCALHOST.Append=true  log4j.appender.LOCALHOST.Encoding=UTF-8  log4j.appender.LOCALHOST.DatePattern='.'yyyy-MM-dd  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={tomcat-dir}/logs/manager  log4j.appender.MANAGER.Append=true  log4j.appender.MANAGER.Encoding=UTF-8  log4j.appender.MANAGER.DatePattern='.'yyyy-MM-dd  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={tomcat-dir}/logs/host-manager  log4j.appender.HOST-MANAGER.Append=true  log4j.appender.HOST-MANAGER.Encoding=UTF-8  log4j.appender.HOST-MANAGER.DatePattern='.'yyyy-MM-dd  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  # 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  


3.修改tomcat配置文件

vim {tomcat-dir}/conf/context.xml
<Context swallowOutput="true">  # 将<Context>改为这样,新增一个参数swallowOutput="true"


4. 如过指定的日志输出位置不是tomcat根目录内的logs,则需要修改配置文件,如果是则不用修改。

vim {tomcat-dir}/conf/server.xml
 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"                 prefix="localhost_access_log." suffix=".txt"               pattern="%h %l %u %t "%r" %s %b" />    ## directory 改为你指定的日志输出目录。


5. 删除或更名原日志配置文件,这样就读取不到原日志配置文件。

mv {tomcat-dir}/conf/logging.properties {tomcat-dir}/conf/logging.properties.backup 


OK,到此,日志分割的配置完成,重启tomcat,则会使用新的日志配置文件进行,日志输出。




原创粉丝点击