[Spring Boot] Logger4j2

LatteJava·2024년 4월 6일
<?xml version="1.0" encoding="UTF-8"?>
// Log4j2 내부 동작 로깅 레벨 설정
<Configuration status="WARN">
    <Appenders>
		<!-- Console Appender -->
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d %p %C{1.} [%t] %m%n"/>
        </Console>
		
        <!-- Rolling File Appender -->
        <RollingFile name="RollingFile" fileName="logs/mylog.log"
                     filePattern="logs/mylog-%d{MM-dd-yyyy}-%i.log.gz">
            <PatternLayout pattern="%d %p %C{1.} [%t] %m%n"/>
            <Policies>
                <SizeBasedTriggeringPolicy size="10 MB"/>
            </Policies>
            <DefaultRolloverStrategy max="10"/>
        </RollingFile>
		
		<RollingFile name="RollingFileForPackage" fileName="logs/package.log"
                     filePattern="logs/package-%d{MM-dd-yyyy}-%i.log.gz">
            <PatternLayout pattern="%d %p %C{1.} [%t] %m%n"/>
            <Policies>
				<TimeBasedTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="10 MB"/>
            </Policies>
            <DefaultRolloverStrategy max="10"/>
        </RollingFile>

        
    </Appenders>
    
    <Loggers>
        <!-- Root Logger -->
        <Root level="info">
            <AppenderRef ref="RollingFile"/>
            <AppenderRef ref="Console"/>
        </Root>
		<!-- Package Logger -->
		<Logger name="com.example.package" level="info" additivity="false">
            <AppenderRef ref="RollingFileForPackage"/>
        </Logger>
    </Loggers>
</Configuration>

%d: 로그 이벤트가 발생한 시간을 나타냅니다. 이 지정자 다음에는 날짜 및 시간 형식을 지정할 수 있습니다. 예를 들어, %d{yyyy-MM-dd HH:mm:ss}와 같이 사용할 경우 "년-월-일 시:분:초" 형식으로 시간이 기록됩니다.

%p: 로그 이벤트의 로그 레벨을 나타냅니다. 로그 레벨은 DEBUG, INFO, WARN, ERROR, FATAL 등이 있습니다.

%C{1.}: 로그 이벤트가 발생한 클래스의 이름, {1.}은 클래스 이름에서 패키지 이름을 생략하고 마지막 클래스의 이름만 표시하도록 지정

[%t]: 로그 이벤트가 발생한 스레드의 이름

%m: 로그 이벤트의 메시지

%n: 줄바꿈

profile
devlog

0개의 댓글