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

bon_jovi 2005-11-02 11:45:39
catalina.out越来越大。如何能用log4j代替呢。我用的tomcat4
...全文
628 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
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中

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧