Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.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 Logback滚动日志记录不工作_Java_Spring_Logging_Logback - Fatal编程技术网

Java Logback滚动日志记录不工作

Java Logback滚动日志记录不工作,java,spring,logging,logback,Java,Spring,Logging,Logback,我正在尝试在一个基于spring的项目中创建记录器策略 我面临的问题与滚动政策有关。已创建logfile.log并且运行正常,但未创建滚动文件rollingfile.log.%d{yyyy-MM-dd}.log 下面是我的logback.xml <?xml version="1.0" encoding="UTF-8"?> <configuration debug="true" scan="true" scanPeriod="30 seconds"> <pro

我正在尝试在一个基于spring的项目中创建记录器策略

我面临的问题与滚动政策有关。已创建
logfile.log
并且运行正常,但未创建滚动文件
rollingfile.log.%d{yyyy-MM-dd}.log

下面是我的
logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true" scan="true" scanPeriod="30 seconds">
    <property name="LOG_PATH" value="D:/coinLogs" />
    <property name="LOG_ARCHIVE" value="${LOG_PATH}/archive" />

    <appender name="Console-Appender" class="ch.qos.logback.core.ConsoleAppender">
        <layout>
            <pattern>[%d{yyyy-MM-dd HH:mm:ss}] - [%X{requestId}] - %p %c -- %m%n</pattern>
        </layout>
    </appender>

    <appender name="File-Appender" class="ch.qos.logback.core.FileAppender">
        <file>${LOG_PATH}/logfile.log</file>
        <encoder>
            <pattern>[%d{yyyy-MM-dd HH:mm:ss}] - [%X{requestId}] - %p %c -- %m%n
            </pattern>
            <outputPatternAsHeader>true</outputPatternAsHeader>
        </encoder>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- rollover daily -->
            <fileNamePattern>${LOG_ARCHIVE}/rollingfile.log.%d{yyyy-MM-dd}.log
            </fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                        <maxFileSize>10MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
    </appender>


    <logger name="coinPay.logbackxml" level="info" additivity="false">
        <appender-ref ref="Console-Appender" />
        <appender-ref ref="File-Appender" />
    </logger>

    <!-- To remove extra hibernate logs -->
    <logger name="org.hibernate">
        <level value="info" />
    </logger>

    <root>
        <appender-ref ref="Console-Appender" />
        <appender-ref ref="File-Appender" />
    </root>

</configuration>

[%d{yyyy-MM-dd HH:MM:ss}]-[%X{requestId}]-%p%c--%m%n
${LOG\u PATH}/logfile.LOG
[%d{yyyy-MM-dd HH:MM:ss}]-[%X{requestId}]-%p%c--%m%n
真的
${LOG\u ARCHIVE}/rollingfile.LOG.%d{yyyy-MM-dd}.LOG
10MB

任何帮助都将不胜感激。提前感谢:D

您需要指定
ch.qos.logback.core.rolling.RollingFileAppender
作为您的appender的类。FileAppender无法滚动。


我认为您缺少了%I参数,该参数应替换为滚动文件索引(即“mylog.2017-03-13.0.txt”,“mylog.2017-03-13.1.txt”等)

此外,像Uwe Allner一样,我使用RollingFileAppender而不是FileAppender。
(我还建议在配置中添加totalSizeCap,以便控制总大小)

以下是我的整个appender配置:

<appender name="SQL_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${LOG_HOME}/mylog.txt</file>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <Pattern>
            %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level- %msg%n
        </Pattern>
    </encoder>

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <maxHistory>3</maxHistory>
        <totalSizeCap>5GB</totalSizeCap>
        <fileNamePattern>${LOG_HOME}/archived/mylog.%d{yyyy-MM-dd}.%i.txt.zip</fileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>20MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>
</appender>

${LOG\u HOME}/mylog.txt
%d{yyyy-MM-dd HH:MM:ss}[%thread]-5级别-%msg%n
3.
5GB
${LOG\u HOME}/archive/mylog.%d{yyyy-MM-dd}.%i.txt.zip
20MB

尝试上述更改后,即使“logfile.log”不起作用,也要将其替换为此。是否还有其他需要更改的内容?是否有任何错误?也许你的日志级别不合适?