tomcat中如何用log4j代替原来的catalina.out

bon_jovi 2005-11-02 11:45:39
catalina.out越来越大。如何能用log4j代替呢。我用的tomcat4
...全文
562 11 打赏 收藏 举报
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
OnlyFor_love 2005-11-04
具体设置的话,楼主还是查一下有关DefaultContext组件中的swallowOutput属吧!性
  • 打赏
  • 举报
回复
OnlyFor_love 2005-11-04
呵呵 看来楼主对tomcat4已经很有感情了啊!
  • 打赏
  • 举报
回复
OnlyFor_love 2005-11-04
楼主看看tomcaf官方网站上关于DefaultContext组件的内容吧!希望对你有用
http://tomcat.apache.org/tomcat-4.1-doc/config/defaultcontext.html
  • 打赏
  • 举报
回复
OnlyFor_love 2005-11-03
呵呵 设置方面其实也很简单的,不过建议楼主还是换高版本的tomcat吧!

为什么还用tomcat4版本的啊????

不解。。。。。。。。。。。。。。。。。。。
  • 打赏
  • 举报
回复
bon_jovi 2005-11-03
谢谢楼上热心,原来试过tomcat5,结果发现有bug。
其实稳定最重要了,比如jdk,我想在jdk5.2出来之前我是不会升级jdk的。:)


btw,现在tomcat下有两个web app,那设置都导向一个log吗?
  • 打赏
  • 举报
回复
OnlyFor_love 2005-11-02
呵呵,如果是这样的话你就必须重新编译tomcat的源代码了啊
  • 打赏
  • 举报
回复
OnlyFor_love 2005-11-02
你把原来catalina.out的地方都换成用log4j去记录日志就可以了!
  • 打赏
  • 举报
回复
OnlyFor_love 2005-11-02
不知道你现在明白了没有???

举个例子吧,你定义了2个logger,其中一个用于你自己的web中的一些日志记录,而另一个则用来替talina.out分担任务,把其中的System.out和System.err的输出由你的logger来负责。
  • 打赏
  • 举报
回复
OnlyFor_love 2005-11-02
我的第三个帖子里说的就是你的意思,利用DefaultContext组件,然后设置swallowOutput的属性为true,这样凡是,System.out和System.err的输出都将被重定向到你的logger,由你的logger来控制他们的输出,你可以把他们输出到和catalina.out同一个目录下!
  • 打赏
  • 举报
回复
bon_jovi 2005-11-02
谢谢楼上,换成log4j是为了能用它的配置,改成比如3个文件轮循记录。但是我还是需要把所有日志记录下来。而且整个tomcat下面的所有web应用的日志都要记录在一个文件,而不是一个web一个。这样我只要tail -f 一个文件就可以监控后台了。
  • 打赏
  • 举报
回复
OnlyFor_love 2005-11-02
你可以利用DefaultContext组件,通过设置它的一些属性,来减少对logs下catalina.out中的日志信息的输出。
DefaultContext元素代表Context元素的配置设置的一个子集,可以嵌套在Engine或者Host元素中,表示自动创建的Context的缺省配置属性。

它有一个附加属性是swallowOutput,设置这个属性的值就可以了。

swallowOutput属性的值有true和false两个,
如果该值为true,System.out和System.err的输出被重定向到web应用的logger。也就是说把它设置为true的话,原本输入到catalina.out中的信息,将被重定向到你的日志器中。
如果没有指定,缺省值为false,这样的话日志信息将全部记录到catalina.out中
  • 打赏
  • 举报
回复
发帖
Java EE

6.7w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
帖子事件
创建了帖子
2005-11-02 11:45
社区公告
暂无公告