tomcat日志分割解决方案

一、下载所需的包

    1、下载log4j下载1.2以后的版本
    下载地址:http://logging.apache.org/log4j/1.2/download.html

    2、下载tomcat-juli.jar,tomcat-juli-adapters.jar
    使用LOG4J来接管tomcat的日志文件必须要下载两个文件:tomcat-juli.jar,tomcat-juli-adapters.jar。
    下载地址为:http://mirror.bit.edu.cn/apache/tomca ... cat-7/v7.0.55/bin/extras/ (如果tomcat为其他版本,请下载对应版本的类包)
    二、修改配置文件
    1、修改${catalina.home}/conf/context.xml:修改:< Context >为< Context swallowOutput="true" >只有这样才能完全的把tomcat的stdout给接管过来。这一步很关键 在官网及网上找了许多资料都没有提及。
    2、复制log4j-1.2.17.jar到${catalina.home}/lib下
    3、复制tomcat-juli-adapters.jar到${catalina.home}/lib下
    4、复制tomcat-juli.jar到${catalina.home}/bin下,在该目录会存在该文件,覆盖 即可
    5、将log4j.properties文件复制到${catalina.home}/lib下
    Log4j.properties的内容如 下:相关参数根据需要可以相应修改

    log4j.rootLogger=INFO, CATALINA

    # Define all the appenders
    log4j.appender.CATALINA=org.apache.log4j.RollingFileAppender
    log4j.appender.CATALINA.File=${catalina.base}/logs/catalina.out
    log4j.appender.CATALINA.MaxFileSize=10240KB #文件大小(100MB为102400KB),可根据实际情况进行修改
    log4j.appender.CATALINA.MaxBackupIndex=10 #备份文件数,可根据实际情况进行修改
    log4j.appender.CATALINA.Append=true
    log4j.appender.CATALINA.Encoding=GBK
    # Roll-over the log once per day
    #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=GBK
    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=GBK
    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=GBK
    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=GBK
    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

你可能感兴趣的:(Tomcat)