【问题标题】:logback file disappears after a few days runninglogback 文件在运行几天后消失
【发布时间】:2014-07-24 10:00:18
【问题描述】:

我有一个名为appname 的java 程序,它使用logbacksl4fj 进行日志记录。

期望:

  • 日志文件每天午夜滚动,所有生成的日志文件将保留 30 天,基于 设置<maxHistory>30</maxHistory>

  • 使用绝对路径指定日志文件模式,如<fileNamePattern>/var/log/appname/logfile.%d{yyyy-MM-dd}.log</fileNamePattern>

  • 在Linux服务器(CentOS)上创建了一个用户appname作为java程序appname.jar的所有者和 /var/log/appname,只允许这个appname用户运行程序。

我遇到的问题:

我让它继续运行,不幸的是在appname 程序启动 5 天后,文件滚动工作正常,但 logfile.log(用于记录当天数据的滚动)消失了, 所有生成的日志文件(前几天的日志)仍然存在。

编辑:我运行了两次程序,logfile.log在第4天(我第一次运行它)消失了,第5天消失了(我第2次运行它)

帮助:

有人对此有任何想法吗?

我的猜测:

  1. 和logback&sl4fj有关系吗
  2. 权限问题?
  3. 是不是因为日志文件的大小(没有设置限制大小,每个15GB左右)?

<configuration debug="true"> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder><pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern></encoder> </appender> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>/var/log/appname/logfile.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>/var/log/appname/logfile.%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>30</maxHistory> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5p %c - %m%n</pattern> </encoder> </appender> <root level="DEBUG"> <appender-ref ref="FILE" /> <!-- <appender-ref ref="STDOUT" /> --> </root> </configuration> <logger name="org.apache.zookeeper"> <level value="ERROR"/> <appender-ref ref="FILE"/> </logger>

我们将不胜感激,提前致谢!

【问题讨论】:

  • 这是日志滚动的问题吗?你的问题有点不清楚。滚动是否在某些时候起作用,而不是其他时候?
  • rolling 工作正常,logfile.log 的那一天消失了,最后修改时间是 00:00 符合预期。
  • 上次修改时间是什么?
  • @Taylor logfile.log被写入/var/log/appname,今天早上文件消失了,当我在/var/log/appname文件夹上运行ll命令时,最后修改/var/log/appname文件夹的日期是Jun 3 00:00,这意味着文件logfile.log在滚动时消失了
  • 当类路径上有两个 Log4J JAR 使用相同的配置文件时,我们遇到了与 Log4J 非常相似的问题。这意味着有两个滚动附加程序都滚动了当前文件。可能是类似的东西。检查滚动文件是否不包含比应有的新消息。

标签: java slf4j logback user-permissions


【解决方案1】:
<?xml version="1.0" encoding="UTF-8"?>

经过多天的测试,我发现我的 logback 文件中缺少上述行,在我将其添加为我的 logback 文件的第一行后,滚动工作正常,希望它可以帮助人们遇到与我类似的问题.

【讨论】:

  • 感谢您的回答。问题是否再次出现?我们面临同样的问题,确实也忘记了 xml 声明。
  • @phw 添加声明后我的问题解决了
  • 非常感谢您的回答!我们会试一试!
猜你喜欢
  • 1970-01-01
  • 2013-06-28
  • 1970-01-01
  • 2013-03-21
  • 2021-05-25
  • 1970-01-01
  • 1970-01-01
  • 2021-08-18
  • 1970-01-01
相关资源
最近更新 更多