Код IT
← Каталог

Справочник по конфигурациям в Java — 4.4. Log4j 2

Фрагмент из «Справочник по конфигурациям в Java»: 4.4. Log4j 2.

XML / XAML main.xml
<Configuration status="WARN" monitorInterval="30">
  <Appenders>
    <Console name="Console" target="SYSTEM_OUT">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    </Console>

    <RollingFile name="File" fileName="app.log"
                 filePattern="app.%d{yyyy-MM-dd}-%i.log.gz">
      <PatternLayout>
        <pattern>%d{ISO8601} [%t] %-5level %logger{40} [%X{traceId}] - %msg%n</pattern>
      </PatternLayout>
      <Policies>
        <TimeBasedTriggeringPolicy interval="1"/>
        <SizeBasedTriggeringPolicy size="100MB"/>
      </Policies>
      <DefaultRolloverStrategy max="30"/>
    </RollingFile>

    <Async name="AsyncFile">
      <AppenderRef ref="File"/>
    </Async>
  </Appenders>

  <Loggers>
    <Logger name="com.example.service" level="debug" additivity="false">
      <AppenderRef ref="AsyncFile"/>
    </Logger>

    <Root level="info">
      <AppenderRef ref="Console"/>
      <AppenderRef ref="AsyncFile"/>
    </Root>
  </Loggers>
</Configuration>
<Configuration status="WARN" monitorInterval="30">
  <Appenders>
    <Console name="Console" target="SYSTEM_OUT">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    </Console>

    <RollingFile name="File" fileName="app.log"
                 filePattern="app.%d{yyyy-MM-dd}-%i.log.gz">
      <PatternLayout>
        <pattern>%d{ISO8601} [%t] %-5level %logger{40} [%X{traceId}] - %msg%n</pattern>
      </PatternLayout>
      <Policies>
        <TimeBasedTriggeringPolicy interval="1"/>
        <SizeBasedTriggeringPolicy size="100MB"/>
      </Policies>
      <DefaultRolloverStrategy max="30"/>
    </RollingFile>

    <Async name="AsyncFile">
      <AppenderRef ref="File"/>
    </Async>
  </Appenders>

  <Loggers>
    <Logger name="com.example.service" level="debug" additivity="false">
      <AppenderRef ref="AsyncFile"/>
    </Logger>

    <Root level="info">
      <AppenderRef ref="Console"/>
      <AppenderRef ref="AsyncFile"/>
    </Root>
  </Loggers>
</Configuration>