tomcat7日志管理的部分内容来自于Apache tomcat 7.0文档中logging部分, http://tomcat.apache.org/tomcat-7.0-doc/logging.html
一、简介
1 、收集日志的作用
监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作;
跟踪代码运行时轨迹,作为日后审计的依据;
担当集成开发环境中的调试器的作用,向文件或控制台打印代码的调试信息。
2 、为什么要用log4j
在我们平时使用的tomcat7,日志输出到catalina.out。由于catalina.out日志无法自动切割,并且所有的日志都输出到catalina.out文件里。不便于我们查找。
3 、log4j 好处
能够控制日志信息想往哪里打就往哪里打,比如:控制台、文件、邮箱、数据库等等
能够控制日志信息想怎么打就怎么打,比如:我想要打印时间、程序的名称、程序的方法名、程序的行号、线程的名称等等
能够控制日志信息想打什么打什么,不想打的就不打,日志信息是分级别的,有时候我只想看错误的信息或者警告的信息,有时候我想看到所有的信息我想调试程序等等
二、 使用 Log4j 来记录日志方法
如果你只是想对当前的项目运用log4j,那么只需要将log4j.jar,log4j.properties分别放入项目的WEB-INFO/lib和WEB-INFO/classes文件夹下即可;但如果你想将log4j运用到所有运行于tomcat的项目中,那么还需要以下配置步骤:
1 、首先创建一个log4j.properties 文件,并将其放置在tomcat 的lib 目录$CATALINA_BASE/lib 下。以下配置内容为我的配置
log4j.rootLogger=INFO,stdout,R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%-d{yyyy-MM-dd HH\:mm\:ss,SSS}] [%c] [%p] [%m]%n
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
#c3po config
log4j.logger.com.opensymphony=warn
log4j.logger.com.mchange=warn
#spring config
log4j.logger.org.springframework=warn
#mybatis config
log4j.logger.org.apache.ibatis.logging=warn
log4j.logger.org.apache.ibatis.datasource.pooled=warn
log4j.logger.org.apache.ibatis.transaction.jdbc=warn
log4j.logger.org.mybatis.spring=warn
log4j.logger.cn.com.widgetdo.mybatis.scanner=warn
#调试时看sql语句 将 warn变为 debug就可以了
log4j.logger.cn.com.widgetdo.mapper=debug
#axis config
log4j.logger.org.apache.axis=warn
log4j.logger.org.apache.axis.utils.JavaUtils=error
#quartz config
log4j.logger.org.quartz=warn
# beanutil config
log4j.logger.org.apache.commons.beanutils=warn
#struts2 config
log4j.logger.org.apache.struts2=ERROR
log4j.logger.freemarker=warn
log4j.appender.R.File=${catalina.home}/logs/tomcat.out
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=[%d{yyyy-MM-dd HH\:mm\:ss,SSS}] [%c] [%p] [%m]%n
#log4j.logger.com.opensymphony.xwork2=ERROR
2 、下载log4j 的jar 包,需要1.2 以上版本
下载地址: http://archive.apache.org/dist/logging/log4j/1.2.17/log4j-1.2.17.jar
3 、下载tomcat-juli.jar 、tomcat-juli-adapters.jar 作为tomcat 的外部组件。注意,此处的tomcat-juli.jar 和默认的不同,它包含了Apache Commons Logging的全部实现
①下载地址:http://www.apache.org/dist/tomcat/tomcat-7/v7.0.90/bin/extras/
此处只有最新的版本v7.0.9
所以建议直接访问:http://www.apache.org/dist/tomcat/tomcat-7/
然后手动选择
或者
②下载地址:tomcat官网—>tomcat7
![](https://img.haomeiwen.com/i9355552/cc1e8c19cd9c5f8c.png)
4、如果你想使用log4j作为tomcat的全局配置,那么首先将log4j-1.2.17.jar、tomcat-juli-adapters.jar放入$CATALINA_HOME/lib目录下
5、将$CATALINA_HOME/bin/tomcat-juli.jar替换为下载的tomcat-juli.jar,并修改成755权限
[root@cxm bin]# chmod 755 tomcat-juli.jar
6、如果有不同tomcat
使用不同的$CATALINA_HOME和$CATALINA_BASE来运行tomcat,并且希望采用同一个$CATALINA_BASE来配置log4j,那么还需要下面几步操作:
1.创建$CATALINA_BASE/bin和$CATALINA_BASE/lib目录;
2.将log4j.jar和tomcat-juli-adapters.jar放入$CATALINA_BASE/lib下;
3.将tomcat-juli.jar放入$CATALINA_BASE/bin下;
4.如果你是以security manager运行的tomcat,那么还需要编辑$CATALINA_BASE/conf/catalina.policy文件来让它使用不同的tomcat-juli.jar.
7、删除$CATALINA_BASE/conf/logging.properties文件
8、重启tomcat
三、 使用log4j前后对比图
1、使用前
![](https://img.haomeiwen.com/i9355552/ca3a96fcc94c500a.png)
#######2、使用后(定义自己想要的格式)
![](https://img.haomeiwen.com/i9355552/28764a8bbc159e4c.png)
网友评论