Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jetty access日志写入.tmp文件_Java_Logging_Jetty_Logback - Fatal编程技术网

Java Jetty access日志写入.tmp文件

Java Jetty access日志写入.tmp文件,java,logging,jetty,logback,Java,Logging,Jetty,Logback,我观察到的问题: 在一天中的任意时间,日志开始进入.tmp文件 access.log6732547707051856.tmp(它有从00:00:00到00:00:01的日志,我想在发生滚动时这是可以接受的)和access.log6844458502795078.tmp是两个有日志的文件 记录器继续登录到最新的tmp文件。我观察到一个例子,它在早上6点左右开始写入.tmp文件,然后继续在那里写入。 这将在下一次滚动时停止,即00:00:00(午夜),此时access.log文件被压缩。在此之后,.

我观察到的问题:

在一天中的任意时间,日志开始进入.tmp文件
access.log6732547707051856.tmp
(它有从00:00:00到00:00:01的日志,我想在发生滚动时这是可以接受的)和
access.log6844458502795078.tmp
是两个有日志的文件

记录器继续登录到最新的tmp文件。我观察到一个例子,它在早上6点左右开始写入.tmp文件,然后继续在那里写入。 这将在下一次滚动时停止,即00:00:00(午夜),此时access.log文件被压缩。在此之后,.tmp文件仍然保留

  • 为什么临时文件不消失
  • 为什么它在不应该发生滚动的时候写入临时文件
  • 系统详情:

    我使用的Jetty版本:8.1.15

    我正在用

    RequestLogImpl requestLog = new RequestLogImpl();
    requestLog.setFileName("logback-access.xml");
    requestLogHandler.setRequestLog(requestLog);
    
    logback access.xml
    已关闭

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>/var/log/service/package/access-%d{yyyy-MM-dd}.log.gz</fileNamePattern>
            <maxHistory>10</maxHistory>
        </rollingPolicy>
    
    
    /var/log/service/package/access-%d{yyyy-MM-dd}.log.gz
    10
    
    这是一个带有logback实现的开放bug,通常在滚动与gzip/压缩层结合时出现


    我的情况略有不同,因为我看到tmp文件使用的是logback classic 1.1.3,而不是logback访问

    我正在使用最大文件大小的滚动文件追加器。请参阅下面我的最终工作配置

    我的问题是由于

      <appender ..
        <file>${catalina.base}/logs/app-info.log</file>
    
    
    100MB
    ...
    
    我们遇到了同样的问题。关于如何解决这个问题有什么想法吗?@Tuanitim禁用gzip压缩有效。我们禁用了它,并通过更频繁的备份减少了maxHistory。谢谢。嗯,禁用gzip压缩并不是我们所期望的,对吧?@Tuanitim-yup。禁用压缩是“修复”此问题的一种令人伤心的方式。但在问题解决之前,要么如此,要么丢失日志
      <appender ...
        <rollingPolicy ...
        <fileNamePattern>logs/app-info-%d{yyyy-MM-dd,UTC}-%i.log.gz</fileNamePattern>
    
    <appender name="RollingFile"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${catalina.base}/logs/app-info.log</file>
        <!-- daily rollover -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${catalina.base}/logs/app-info-%d{yyyy-MM-dd,UTC}-%i.log.gz</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!--  or whenever the file size reaches 100MB -->
                <maxFileSize>100MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        ...
    </appender>