tomcat应用log4j打印catalina日志按照日志分割成不同文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013045959/article/details/90697104

这个着实实验了一把

第一种方法

第一步;先下载tomcat-juli.jar和tomcat-juli-adapters.jar和log4j-1.2.17.jar

第二步:将上面三个包拷到tomcat的lib目录下

第三步:将tomcat-juli.jar 拷贝到 Tomcat 的 bin 目录下,替换原有的jar包

第四步:修改 Tomcat 的 conf/context.xml 文件,将<Context>为<Context swallowOutput="true">

上面这四步和所有文章都一样,但是我按照查到的文章配置下面的步骤的时候,可能因为项目具体配置的不同,总是失败,但幸亏最终还是成功了,如下:

第五步: 删除 Tomcat 的 conf/logging.properties 文件(或者重命名-建议);

第六步:在 Tomcat 的 lib 目录下创建 log4j.properties 文件

文件内容,根据公司项目不同,配置如下:

 

第七步:

找到bin下的catalina.sh文件,修改里面内容:如下:

我设置的是一分钟生成一个文件,如果一天的话,去掉后面的-h-m

然后分别在bin文件夹中调出命令框执行下面两个命令,使修改生效:

chmod +x *.sh

sh catalina.sh

 

这样,就可以让Catalina输出以时间为单位和后缀的文件了

 

第二种方法

就没有第一种那么麻烦,应证了我的猜想,我把catalina.out也配置到了log4j.xml文件中。之所以没一开始就这么做,还使因为经验告诉我,因为我没有见过直接把catalina.out配置到log4j.xml中的,😓。具体如下

 

最后在root指定中加上,catalina就行

更新:

第二种方法只不过是将catalina.out按照正常日志的配置方法来配置的,会导致不输出system.out.println的日志。而且如果有正常的日志配置,不需要单独配置catalina.out,会导致重复。

因此还是建议采用第一种 

展开阅读全文

没有更多推荐了,返回首页