有关tomcat5和tomcat6的日志配置注释

以下只是自己做的笔记,方便以后自己翻阅。大家看不懂的可以回复我解释

 

要打开tomcat系统自己的log4j则需要按照官方的做法在common/lib下加入common-logging-1.1.1和log4j1.2.8的jar包
另外在common/classes下放入示例的log4j.properties文件,这就是所谓的全局日志,所有应用共用

如果不需要tomcat系统自己的log4j则只需要在自己的项目里加入log4j.properties和相应的common-logging1.1.1和log4j1.2.8
jar包即可,不需要管tomcat的common里的东西
此时在自己项目里的log4j.properties里配置tomcat系统的日志输出级别也能控制tomcat的系统日志输出
比如加上log4j.logger.org.apache.commons=DEBUG就能打印出所有org.apache.commons下的内容
一般项目里定义log4j.rootLogger=INFO,console,file

-----------------
如果想解决tomcat debug信息太多的问题,可以不要tomcat系统的log4j,在应用了关闭log4j.logger.org.apache=INFO
或是tomcat系统的全局日志配置文件和所有应用的日志配置文件都设置一样的root
即:log4j.rootLogger=DEBUG,console,file
然后再在子应用里关闭log4j.logger.org.apache=INFO,在全局里也关闭log4j.logger.org.apache=INFO,这样意思是各自管理
各自自己的append,互不影响(这里的append只为文件file时,如org.apache.log4j.RollingFileAppender 或是 org.apache.log4j.DailyRollingFileAppender时)
应用有应用自己log4j.properties文件里定义的append,tomcat5也有自己的log4j.properties定义的append,互不干涉,各写各的

注意,如果两个log4j.properties里都有对标准输出,或标准错误输出(或是同一个一模一样的append,如果是文件的话包括文件路径和名称),因为一般
同一台电脑只有一个标准输出,或标准错误输出,的append定义时,并且采用该输出的包的level一样的话(且rootLogger的level也一样),
则对于该包的输出以tomcat系统的log4j.properties
定义的格式输出,忽略应用下的log4j.properties里定义的标准输出的格式,并且该包信息只输出一遍例如log4j.logger.org.apache.commons=INFO包就有类似情况

但是tomcat的启动信息catalina的信息却不能解释,如果在tomcat 的系统log4j.properties里不配置console的话,那么
他们是怎么也不会再eclipse的启动console里显示的,并且他们在文件里的格式也变成了你配置的log4j.properties里的
格式,不再是类似
2010-4-21 13:59:08 org.apache.coyote.http11.Http11AprProtocol init
信息: Initializing Coyote HTTP/1.1 on http-8092
2010-4-21 13:59:08 org.apache.coyote.ajp.AjpAprProtocol init
信息: Initializing Coyote AJP/1.3 on ajp-8009
2010-4-21 13:59:08 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 484 ms
2010-4-21 13:59:08 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2010-4-21 13:59:08 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/5.5.27
2010-4-21 13:59:08 org.apache.catalina.core.StandardHost start
信息: XML validation disabled
2010-4-21 13:59:09 org.apache.catalina.core.ApplicationContext log

这种格式了

所以最后我还是去掉了tomcat5系统的全局log4j的配置,只在自己应用里配置log4j文件,然后加上
log4j.logger.org.apache.commons=INFO
解决jsper debug输出信息太多的问题
而tomcat6在不配置系统全局log4j的情况下,即使自己应用里的log4j.properties里不加上log4j.logger.org.apache.commons=INFO
也不会出现jsper debug输出信息太多的问题

不知道是怎么回事??????????????????????????????????

有时间还是得研究下tomcat5和6的日志缺省实现和他们的启动脚本,看看他们到底干了些什么?????
-----------------

至于tomcat6.0的日志配置暂时还没弄明白怎么回事,tomcat6.0系统缺省好像不是使用的log4j,是用的java.util.logging,所以
在自己项目里配置的log4j.properties内容不会对tomcat6.0的系统日志造成影响,即使加上例如log4j.logger.org.apache.commons=DEBUG
也不能显示org.apache.commons下的内容

8090端口会和360软件冲突

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值