当前位置: 首页 > 知识库问答 >
问题:

log4j rollingfileappender旋转catalina.out文件但继续写入catalina.out.1文件

乌灿
2023-03-14

我想在alfresco 4.0.1中配置log4j rollingFileAppender,因为我想在catalina.out文件的大小达到10MB时保持旋转。因此,我使用下面的链接使用tomcat配置了log4j。

为了配置rollingFileAppender,我在tomcat/lib/log4j.properties文件中写了下面几行。

log4j.rootlogger=info,文件

log4j.appender.file=org.apache.log4j.rollingfileappender log4j.appender.file.file=${catalina.base}/logs/catalina.out log4j.appender.file.maxfilesize=10MB log4j.appender.file.maxbackupindex=10 log4j.appender.file.layout=org.apache.log4j.patternlayout

log4j.appender.file.layout.conversionpattern=%d{ISO8601}[%x][%p][%c{3}][%t][%r]%m%n

log4j.logger.org.apache.Catalina.core.containerbase.[Catalina].[localhost]=info log4j.logger.org.apache.Catalina.core=info log4j.logger.org.apache.Catalina.session=info

当我启动alfresco并监视日志时,我可以看到当catalina.out文件达到10MB时,log4j将其重命名为catalina.out.1文件并创建新的catalina.out文件。但问题是,tocmat一直在登录catalina.out.1文件。它应该一直写入catalina.out文件,对吗?

我怎么解决??

共有1个答案

劳鹏云
2023-03-14

我试了很多,然后请求在户外支持。他们已经建议使用Linux的工具logrotate来进行日志循环。我配置了它,看起来旋转工作很好。我的logrotate配置如下所示。

/path/to/log/file/catalina.out { 
copytruncate 
rotate 7 
compress 
missingok 
size 10M 
}

希望这能有所帮助。

 类似资料:
  • 本文向大家介绍Linux tomcat下catalina.out日志文件分割,包括了Linux tomcat下catalina.out日志文件分割的使用技巧和注意事项,需要的朋友参考一下 Linux tomcat下catalina.out日志文件分割 前言: tomcat默认使用Java.util.logging记录日志,默认只记录tomcat的日志,不记录应用的日志。tomcat支持采用log4

  • 问题内容: 我已经打开要使用的文件: 使用循环,我想在同一行中向文件中写入一些单词。并且在每次循环迭代之后,我想添加一个换行符。 我的预期输出是: 但我得到: 如何更改代码以获得预期的输出?谢谢。 问题答案: 写入前,请在结尾处删除换行符。

  • 问题内容: 我想要一个集中式日志服务器。 我已经基于此iso创建了两个Ubuntu 12.04 LTS服务器。 在成功并严格按照本教程步骤进行操作之后,我有: 一台Logstash + ElasticSearch + Kibana的日志服务器。 一个带有Logstash-Forwarder的应用程序服务器,Tomcat 6和另一个应用程序,这些日志已在catalina.out文件中注册。 我的问题

  • 问题内容: 作为标题,我想知道如何使用golang中的toml文件。 在此之前,我展示了我的toml示例。这样对吗? 然后,我想将这些数据设置为struct类型。 因此,我想按如下方式访问子元素。 提前致谢! 问题答案: 首先获取BurntSushi的toml解析器: BurntSushi解析toml并将其映射到结构,这就是您想要的。 然后执行以下示例并从中学习: 请注意和及其如何映射到该结构。

  • 问题内容: 我正在尝试配置log4j以将消息记录到文件中。现在,确实使用我提供的名称创建了该文件,但是日志未写入该文件。我的代码: 我文件的内容: 运行此命令时,将在控制台中获得以下输出: 该文件确实在我的主目录中创建。但是它是空的。 有什么想法我做错了吗?我正在使用log4j 1.2.17版。 问题答案: 输出似乎是Java标准日志记录框架(JUL)发出的默认格式。 因此,有两种可能性(想到):

  • 1. 继续Hello World 在第 4 节 “第一个程序”中,读者应该已经尝试对Hello world程序做各种改动看编译运行结果,其中有些改动会导致编译出错,有些改动会影响程序的输出,有些改动则没有任何影响,下面我们总结一下。首先,注释可以跨行,也可以穿插在程序之中,看下面的例子。 例 2.1. 带更多注释的Hello World #include <stdio.h> /* * com