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

catalina-date.log中的Log4j日志记录

关飞翔
2023-03-14
log4j.appender.CATALINA=org.apache.log4j.DailyRollingFileAppender
log4j.appender.CATALINA.File=${catalina.base}/logs/catalina.
log4j.appender.CATALINA.Append=true
log4j.appender.CATALINA.Encoding=UTF-8
# Roll-over the log once per day
log4j.appender.CATALINA.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout
log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n

问题是它不在catalina- .log中记录,而是在catalina中记录。似乎没有正确配置appender。文件catalina似乎是从log4j.appender.catalina.file=${catalina.home}/logs/catalina创建的。在配置中。

有人能帮我解决这个问题吗?

共有1个答案

夔宏深
2023-03-14

如果您想在win32上使用启动脚本启动Tomcat时旋转logs/catalina.out,一个选择是安装一个日志记录程序,比如chronolog(可能是只适用于*nix),然后修改catalina.out,将标准输出管道传输到该进程,而不是重定向到文件。

更新:一个更好的选择(通常在win32上)可能是使用Tomcat的服务安装程序并将Tomcat作为服务运行,但我不相信它会让旋转日志文件变得更容易。

当然,最好的选择是一开始就不要写入standard out,以避免需要旋转这个日志文件。

 类似资料:
  • 主要内容:Logger日志方法的例子,Logger的日志方法Logger 类有多种方法来处理日志记录活动。Logger 类不允许我们实例化一个新的 Logger 实例,但它支持两种获取 Logger 对象的静态方法: 两个方法中的第一个返回应用程序实例的根记录器,它没有名称。 任何其他命名的 Logger 对象实例都是通过传递记录器的名称由第二种方法获得的。记录器的名称可以是您传递的任何字符串,通常是类或包名称,如下所述: Logger日志方法的例子 Lo

  • 当前的日志阈值是关于日志级别(TRACE,DEBUG,INFO,WARN,ERROR和FATAL)对我来说是不够的。我有一个千兆字节的日志从第三方库写入紧急情况下的错误类别。我不想打开这个日志,因为我想看到这个问题日志。大多数日志都是连续重复的堆栈跟踪。所以我想要一种可以 1)跳过日志,如果阈值(kb/sec)是真实的(我的意思是当我们写很多日志-我们可能会跳过一些)或 2)如果在一段时间内打印了

  • 在我的项目中创建log4j.properties文件如下,但是日志文件(test-service.log)没有被创建,而是日志消息被登录catalina.out如何解决这个问题......

  • 我试图实现log4j日志记录类。代码的包结构如下所述。目前我的log4j.properties放在包的资源下。 我有时确实会得到日志,但有时调试器会显示“log4j: WARN无法为记录器找到附加程序”所以我最后得到了: 我应该在哪里放置log4j.properties来获得MyTest中一致的日志? 同一个项目可以在不同的包中有多个log4j.properties吗? 如何将调试器/编译器的lo

  • 我正在尝试创建基于不同级别的“不同”附加器,但到目前为止,我找不到一种隔离日志级别的方法。。。。 我需要一种方法,能够土地只有INFO优先排序的日志被追加。因为INFO级别的日志记录也会显示DEBUG标记的日志记录器...这对我没有帮助。 另一件事是,对于“相同”包,我无法定义不同的日志附加器: 在这里,我得到了如下错误:

  • 我知道有很多关于这个的问题,但是我确实经历了所有的问题,并且有点困惑自己,我列出了我遵循的步骤,请让我知道我把它搞砸了。 1) 我只想在应用程序级别使用Log4j,所以需要复制WL_HOME/server/lib/wllog4j。jar和log4j。jar在Domail_Home/Lib? 2) 我使用的是Maven,我在pom中添加了Log4j依赖项。xml[war]。我把战争藏在耳朵里。 3)