tomcat logging using log4j 之 文件分割

来源:互联网 发布:校园网mac地址绑定失败 编辑:程序博客网 时间:2024/05/02 13:44

一、场景分析

    tomcat 是一个高性能的、开源的 web 容器;

    log4j 是一个通用的、成熟的日志解决方案;

    在 tomcat 下配置 log4j 管理系统日志,可以让我们高效的维护系统;

    这儿介绍下本人项目中遇到的 log4j 分割 tomcat 日志的配置方法


二、配置流程

    ①. 创建 log4j 的配置文件 log4j.properties 放在 $CATALINA_BASE/lib 下

        TIPS : 我这儿的 $CATALINA_BASE = $CATALINA_HOME = $TOMCAT_HOME (启动 tomcat 的时候控制台会打印这个变量 -- 可以去那儿看下自己的 $CATALINA_BASE)

        log4j.properties 文件的内容格式如下:

        

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
log4j.rootLogger=INFO,CATALINA
 
# Define all the appenders
log4j.appender.CATALINA=org.apache.log4j.RollingFileAppender
log4j.appender.CATALINA.File=${catalina.base}/logs/catalina
log4j.appender.CATALINA.Append=true
log4j.appender.CATALINA.Encoding=UTF-8
log4j.appender.CATALINA.MaxFileSize=20KB
log4j.appender.CATALINA.MaxBackupIndex=100
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.RollingFileAppender
log4j.appender.LOCALHOST.File=${catalina.base}/logs/localhost.out
log4j.appender.LOCALHOST.Append=true
log4j.appender.LOCALHOST.Encoding=UTF-8
log4j.appender.LOCALHOST.MaxFileSize=300MB
log4j.appender.LOCALHOST.MaxBackupIndex=10
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.RollingFileAppender
log4j.appender.MANAGER.File=${catalina.base}/logs/manager.out
log4j.appender.MANAGER.Append=true
log4j.appender.MANAGER.Encoding=UTF-8
log4j.appender.MANAGER.MaxFileSize=300MB
log4j.appender.MANAGER.MaxBackupIndex=10
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.RollingFileAppender
log4j.appender.HOST-MANAGER.File=${catalina.base}/logs/host-manager.out
log4j.appender.HOST-MANAGER.Append=true
log4j.appender.HOST-MANAGER.Encoding=UTF-8
log4j.appender.HOST-MANAGER.MaxFileSize=300MB
log4j.appender.HOST-MANAGER.MaxBackupIndex=10
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


    ②. 下载 log4j (v1.2 or later)放在 $CATALINA_BASE/lib 下

        TIPS : 去 apache.org 的 logging 项目的下载页面去下载

        TIPS : 如果要下载 log4j 1.x 只需要 log4j-1.x.jar 一个文件就可以了 (我是在这儿找的: log4j-1.2.17.zip )

        TIPS : 如果要下载 log4j 2.x 需要 log4j-api-2.x.jar 和 log4j-core-2.x.jar 两个文件 ( 我是在这儿下载的: apache-log4j-2.1-bin.zip )


    ③. 下载 tomcat-juli.jar(放在$CATALINA_BASE/bin 下 ) 和 tomcat-juli-adapters.jar (放在 $CATALINA_BASE/lib 下)两个文件

        TIPS : 我是在这儿下载的 : http://tomcat.apache.org/download-70.cgi

        


    ④. 删除文件(如果存在) $CATALINA_BASE/conf/logging.properties 以便阻止 java.util.logging 产生空日志文件


    ⑤. 修改文件 $CATALINA_BASE/conf/context.xml 

        <Context  swallowOutput="true"> 在 context 元素中增加红色部分的属性 --- 这个很关键,tomcat 官网上就没有这一步,导致我总是不成功



三、参考

    a. http://www.open-open.com/lib/view/1394111873932

    b.http://tomcat.apache.org/tomcat-7.0-doc/logging.html#Using_Log4j

0 0
原创粉丝点击