Как настроить мои параметры log4j2.xml - PullRequest
0 голосов
/ 08 января 2019

Я новичок в использовании log4j 2. Я только начал и подготовил следующий log4j2.xml файл конфигурации:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%msg%n" />
        </Console>
        <File name="MyFile" fileName="manager.log" immediateFlush="true" append="false">
            <PatternLayout pattern="%d{yyy-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/>
        </File>
    </Appenders>
    <Loggers>
        <Root level="debug">
            <AppenderRef ref="Console" />
            <AppenderRef ref="MyFile"/>
        </Root>
    </Loggers>
</Configuration>

Какое поведение при ведении журнала по умолчанию и размер файла в моем xml? Это скользящий файл, или один раз в день, или просто один огромный файл, размер которого увеличивается по умолчанию?!

Если нет, как я могу изменить его на 2 файла с максимальным объемом 10 МБ?

1 Ответ

0 голосов
/ 09 января 2019

У приложения File appender нет режима ролловера, он просто добавляется к указанному файлу. Когда append = "false", он будет перезаписывать любой существующий файл при перезапуске приложения.

Rolling File Appender - это, вероятно, то, что вы ищете.

В руководстве много примеров, но это может быть близко к тому, что вы имеете в виду:

1   <?xml version="1.0" encoding="UTF-8"?>
2   <Configuration status="warn" name="MyApp" packages="">
3     <Appenders>
4       <RollingFile name="RollingFile" fileName="logs/app.log"
5                    filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
6         <PatternLayout>
7           <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
8         </PatternLayout>
9         <Policies>
10          <TimeBasedTriggeringPolicy />
11          <SizeBasedTriggeringPolicy size="10 MB"/>
12        </Policies>
13        <DefaultRolloverStrategy max="2"/>
14      </RollingFile>
15    </Appenders>
16    <Loggers>
17      <Root level="error">
18        <AppenderRef ref="RollingFile"/>
19      </Root>
20    </Loggers>
21  </Configuration>
...