6 Aralık 2022 Salı

Log4j2 PatternLayout Tanımlama

Giriş
PatternLayout  Appender'lara takılır. Tanımlamak için şöyle yaparız
<PatternLayout pattern="..."/>
veya
<PatternLayout>
  <Pattern>...</Pattern>
</PatternLayout>
Örnek
Şöyle yaparız
<?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 ${hostName} --- [%15.15t] %-40.40c{1.} : %m%n%ex
    </Property>
  </Properties>
  ...
</Configuration>

<!-- Rolling File Appender -->
<RollingFile name="FileAppender" fileName="logs/log4j2-demo.log" 
             filePattern="logs/log4j2-demo-%d{yyyy-MM-dd}-%i.log">
  <PatternLayout>
    <Pattern>${LOG_PATTERN}</Pattern>
  </PatternLayout>
  <Policies>
    <SizeBasedTriggeringPolicy size="10MB" />
  </Policies>
  <DefaultRolloverStrategy max="10"/>
</RollingFile>
Örnek
Şöyle yaparız
<Configuration status="DEBUG">
  <Appenders>
    <Console name="LogToConsole" target="SYSTEM_OUT">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    </Console>
    <RollingRandomAccessFile ...">
      <PatternLayout>
        <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
      </PatternLayout>
      ...
  </Appenders>
  <Loggers>
    ...           
  </Loggers>
</Configuration>
%d
DateTime anlamına gelir. İstenirse format belirtilir.
Örnek
Şöyle yaparız
%d{HH:mm:ss.SSS}
Örnek
Şöyle yaparız
%d{ISO8601}
%level
Level bilgisini gösterir.
Örnek
Şöyle yaparız
%-5level
%logger
Logger ismini gösterir
Örnek
Şöyle yaparız
%logger{36}

Hiç yorum yok:

Yorum Gönder