使用log4j控制tomcat6日志

最近发现服务器上tomcat的日志不断增大,占用过多磁盘空间,所以寻找解决办法,从网上找了一下发现可以使用log4j控制其日志。

现整理如下备忘

 

Tomcat默认使用common-logging来输出日志,info信息都打印到catalina.out中日积月累,可能会占用很大空间,为防止占用过多的磁盘空间,需要将tomcat的日志进行控制。

使用log4j作为tomcat的日志组件,控制其文件大小和备份文件个数可以达到控制日志文件大小的作用。

1、使用log4j替换tomcat默认的common-logging。

下载tomcat-juli-adapters.jar、tomcat-juli.jar 、log4j.jar,新建log4j.properties文件放到tomcat如下目录:

tomcat6-------lib
                |       |--------tomcat-juli-adapters.jar
                |       |--------log4j.jar
                |       |--------log4j.properites
                |
                |----bin
                         |--------tomcat-juli.jar

 

以tomcat6.0.26为例

从如下地址下载tomcat-juli-adapters.jar、tomcat-juli.jar

http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.26/bin/

log4j我用的是1.2.16

http://logging.apache.org/log4j/1.2/download.html

 

log4j.properties配置只向文件打印info信息

# 设定logger的root level为DEBUG,指定的输出目的地(appender)为file
log4j.rootLogger=INFO, file

# 设定输出位置,此处设定tomcat目录的logs下,文件名为server.log
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=${catalina.home}/logs/server.log

#控制日志文件最大10MB
log4j.appender.file.MaxFileSize=10MB

#控制日志文件最多备份5个
log4j.appender.file.MaxBackupIndex=5
# 设定制定的file使用的PatternLayout.
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{HH:mm:ss} %-5p [%C] (%F:%L) - %m%n

 

经过上述修改后在windows中 从tomcat_base/bin/startup.bat启动tomcat可以看到logs中有一个server.log文件,它记录了tomcat的启动日志。其他日志文件大小都是0,已经不占用空间。

 

但是在ubuntu上启动tomcat 之后,logs文件夹中还有catalina.out日志并不断增大。

2、修改tomcat配置文件

打开catalina.sh 搜索 >> "$CATALINA_OUT" 有两处,将 "$CATALINA_OUT" 替换为 /dev/null

经过上述修改之后 tomcat的日志只向log4j.properties中指定的路径输出,原来默认的日志文件不再增长。

 

你可能感兴趣的:(使用log4j控制tomcat6日志)