gpt4 book ai didi

java - logback 文件运行几天后消失

转载 作者:太空宇宙 更新时间:2023-11-04 06:45:42 24 4
gpt4 key购买 nike

我有一个名为appname的java程序,它正在使用 logbacksl4fj用于记录。

期望:

  • 日志文件每天午夜滚动,所有生成的日志文件将根据以下时间保留 30 天:设置<maxHistory>30</maxHistory>

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

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

我遇到的问题:

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

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

帮助:

有人对此有任何想法吗?

我的猜测:

  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>

任何帮助将不胜感激,提前致谢!

最佳答案

<?xml version="1.0" encoding="UTF-8"?>

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

关于java - logback 文件运行几天后消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24025806/

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