Сообщения об ошибках печатаются во всех файлах журнала - PullRequest
0 голосов
/ 07 мая 2019

Сообщения об ошибках журнала печатаются во всех файлах журнала, а не в файле ошибок.Не уверен, что я пропустил в конфигурации.Может кто-нибудь проверить и сообщить мне

Я перепробовал все перестановки и комбинации, но, похоже, ничего не работает.Я думаю, что мне не хватает какой-то конфигурации, но я не уверен, что это.

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" monitorInterval="30">
    <Properties>
        <Property name="LOG_PATTERN">
            %d{yyyy-MM-dd HH:mm:ss.SSS} %5p [%X{id}] ${hostName} --- [%15.15t] %-40.40c{1.} : %m%n%ex
        </Property>
    </Properties>


     <Appenders>
         <Console name="ConsoleAppender" target="SYSTEM_OUT" follow="true">
            <PatternLayout pattern="${LOG_PATTERN}"/>
        </Console>
        <RollingFile name="ROOTLOGS" fileName="${sys:LOG_DIR}bot.log"
                     filePattern="${sys:LOG_DIR}bot-%d{yyyy-MM-dd}-%i.log.gz" >
            <PatternLayout>
                <pattern>%d{dd/MMM/yyyy HH:mm:ss,SSS}- %c{1}- [%-5level] : %m%n</pattern>
            </PatternLayout>
            <Policies>
                <SizeBasedTriggeringPolicy size="10 MB" />

            </Policies>
            <DefaultRolloverStrategy max="10" />
             <ThresholdFilter level="DEBUG"/>
        </RollingFile>
        <RollingFile name="ERRORLOGS" fileName="${sys:LOG_DIR}boterror.log"
                     filePattern="${sys:LOG_DIR}boterror-%d{yyyy-MM-dd}-%i.log.gz">
            <PatternLayout>
                <pattern>%d{dd/MMM/yyyy HH:mm:ss,SSS}- %c{1}: %m%n</pattern>
            </PatternLayout>
            <Policies>
                <SizeBasedTriggeringPolicy size="10 MB" />
            </Policies>
            <DefaultRolloverStrategy max="10" />
             <ThresholdFilter level="ERROR"/>
        </RollingFile>
    </Appenders>


    <Loggers>

        <Logger name="com.org.bot" level="DEBUG" additivity="false">
            <appender-ref ref="ERRORLOGS" />
            <appender-ref ref="ROOTLOGS" />
        </Logger>

        <Root level="info" additivity="false">
            <AppenderRef ref="ConsoleAppender"/>
            <AppenderRef ref="ROOTLOGS"  />
            <AppenderRef ref="ERRORLOGS" />
        </Root>

    </Loggers>
</Configuration>

Ожидается, что сообщения об ошибках должны быть напечатаны только в файл boterror.log, а обычные сообщения приложения должны быть напечатаны в bot.log.

Ответы [ 2 ]

1 голос
/ 07 мая 2019

DENY сообщения об ошибках от ROOTLOGS.

    <Appenders>
        <Console name="ConsoleAppender" target="SYSTEM_OUT" follow="true">
            <PatternLayout pattern="${LOG_PATTERN}"/>
        </Console>
        <RollingFile name="ROOTLOGS" fileName="${sys:LOG_DIR}bot.log"
                     filePattern="${sys:LOG_DIR}bot-%d{yyyy-MM-dd}-%i.log.gz" >
            <PatternLayout>
                <pattern>%d{dd/MMM/yyyy HH:mm:ss,SSS}- %c{1}- [%-5level] : %m%n</pattern>
            </PatternLayout>
            <Policies>
                <SizeBasedTriggeringPolicy size="10 MB" />
            </Policies>
            <DefaultRolloverStrategy max="10" />
            <ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="ACCEPT"/>
        </RollingFile>
        <RollingFile name="ERRORLOGS" fileName="${sys:LOG_DIR}boterror.log"
                     filePattern="${sys:LOG_DIR}boterror-%d{yyyy-MM-dd}-%i.log.gz">
            <PatternLayout>
                <pattern>%d{dd/MMM/yyyy HH:mm:ss,SSS}- %c{1}: %m%n</pattern>
            </PatternLayout>
            <Policies>
                <SizeBasedTriggeringPolicy size="10 MB" />
            </Policies>
            <DefaultRolloverStrategy max="10" />
            <ThresholdFilter level="ERROR"/>
        </RollingFile>
    </Appenders>
0 голосов
/ 07 мая 2019

Это то, что, наконец, сделало свое дело. Что бы ни предложил sazzad + мне нужно добавить пороговый фильтр в ERRORLOG, без которого к нему также добавлялись обычные журналы.

Это окончательная конфигурация, которая работает согласно моим ожиданиям

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" monitorInterval="30">
    <Properties>
        <Property name="LOG_PATTERN">
            %d{yyyy-MM-dd HH:mm:ss.SSS} %5p [%X{id}] ${hostName} --- [%15.15t] %-40.40c{1.} : %m%n%ex
        </Property>
    </Properties>


     <Appenders>
         <Console name="ConsoleAppender" target="SYSTEM_OUT" follow="true">
            <PatternLayout pattern="${LOG_PATTERN}"/>
        </Console>
        <RollingFile name="ROOTLOGS" fileName="${sys:LOG_DIR}bot.log"
                     filePattern="${sys:LOG_DIR}bot-%d{yyyy-MM-dd}-%i.log.gz" >
            <PatternLayout>
                <pattern>%d{dd/MMM/yyyy HH:mm:ss,SSS}- %c{1}- [%-5level] : %m%n</pattern>
            </PatternLayout>
            <Policies>
                <SizeBasedTriggeringPolicy size="10 MB" />

            </Policies>
            <DefaultRolloverStrategy max="10" />

             <ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="ACCEPT"/>
        </RollingFile>
        <RollingFile name="ERRORLOGS" fileName="${sys:LOG_DIR}boterror.log"
                     filePattern="${sys:LOG_DIR}boterror-%d{yyyy-MM-dd}-%i.log.gz">
            <PatternLayout>
                <pattern>%d{dd/MMM/yyyy HH:mm:ss,SSS}- %c{1}: %m%n</pattern>
            </PatternLayout>
            <Policies>
                <SizeBasedTriggeringPolicy size="10 MB" />
            </Policies>
            <DefaultRolloverStrategy max="10" />
           <ThresholdFilter level="ERROR"/> 
        </RollingFile>

    </Appenders>


    <Loggers>

        <Logger name="com.org.bot" level="DEBUG" additivity="false">
            <appender-ref ref="ERRORLOGS" />
            <appender-ref ref="ROOTLOGS" />
        </Logger>

        <Root level="info" additivity="false">
            <AppenderRef ref="ConsoleAppender"/>
            <AppenderRef ref="ROOTLOGS"  />
            <AppenderRef ref="ERRORLOGS" />
        </Root>

    </Loggers>
</Configuration>
...