Как работает приложение slf4j + log4j Когда жесткий диск заполнен - PullRequest
0 голосов
/ 08 октября 2019

Я использовал систему ведения журнала в веб-приложении. Система ведения журнала slf4j + log4j.

Файл конфигурации выглядит следующим образом.

Теперь у меня проблема.

На первом шаге я использовал программу опрессовки. К сожалению, жесткий диск был заполнен и журнал не может быть выведен.

На втором шаге я удалил лишние журналы и освободил место на жестком диске. К сожалению, моя система журналов не может продолжать работать.

Мне пришлось перезапустить службу, чтобы восстановить систему журналов.

Это явно не лучшее решение. Как я могу заставить журналы работать снова?

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
    <property name="LOG_ROOT" value="logs/"/>
    <property name="SVC_NAME" value="robot-test"/>

    <appender name="AllLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_ROOT}${HOSTNAME}.${SVC_NAME}.%d{yyyy-MM-dd-HH}.log</fileNamePattern>
        </rollingPolicy>

        <!--<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">-->
            <!--<fileNamePattern>${LOG_ROOT}${HOSTNAME}.${SVC_NAME}.%d{yyyy-MM-dd-HH}-%i.log</fileNamePattern>-->
            <!--<MaxHistory>30</MaxHistory>-->
            <!--<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">-->
                <!--<maxFileSize>100MB</maxFileSize>-->
            <!--</timeBasedFileNamingAndTriggeringPolicy>-->
        <!--</rollingPolicy>-->


        <encoder charset="UTF8">
            <pattern>%d{HH:mm:ss.SSS} %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>${logging.stdout.appender.level}</level>
        </filter>
        <encoder charset="UTF8">
            <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
        </encoder>
    </appender>

    <logger name="com.smzy.commonservice" level="WARN" addtivity="false"/>

    <root level="${logging.root.level}">
        <appender-ref ref="AllLog"/>
        <appender-ref ref="STDOUT"/>
    </root>
</configuration>
...