gpt4 book ai didi

java - logback有时不写入日志文件,有时不回滚日志文件

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:02:44 25 4
gpt4 key购买 nike

有时,当我启动我的 java 应用程序时,logback 拒绝向我的日志文件写入任何内容。有时它也拒绝在午夜(或在午夜后的第一个日志记录事件)滚动日志文件,这导致日志记录事件丢失到无效。当我在 logbacks 无法滚动日志时查看我的主日志文件时,它会有一个像 23:59 这样的时间,带有昨天的日期,并且该时间之后的所有日志语句都将无法挽回地丢失。我有一个相当简单的配置文件,它看起来是正确的。它当然应该是正确的,因为它在大多数时候都有效。

这是我的配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--See http://logback.qos.ch/manual/appenders.html#RollingFileAppender-->
<!--and http://logback.qos.ch/manual/appenders.html#TimeBasedRollingPolicy-->
<!--for further documentation-->
<append>true</append>
<File>aggregator.log</File>
<encoder>
<!-- was: %d{yyyy-MM-dd HH:mm:ss}%5p [%t] (%F:%L) - %msg%n -->
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] \(%class{25}:%line\) - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- By setting the name to .gz here, we get free compression. -->
<fileNamePattern>aggregator.log.%d{yyyy-MM-dd}.gz</fileNamePattern>
</rollingPolicy>
</appender>
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] \(%class{25}:%line\) - %msg%n</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="file"/>
<appender-ref ref="console"/>
</root>
</configuration>

不幸的是,我不能可靠地重现这个错误,所以调试它有点困难。有人可以告诉我我做错了什么,或者还有什么问题吗?如果它有任何帮助,我将 STDOUT 和 STDERR 重定向到/dev/null (我在 linux 上运行,顺便说一句)。

最佳答案

要调试问题,请使用 <configuration debug="true">并且不要重定向标准输出。 Logback 将在解析配置时以及出现问题时在那里打印消息。

关于java - logback有时不写入日志文件,有时不回滚日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3566681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com