[자바, 로깅] log4j2 설정

  • Log4j는 API와 코어 두 가지가 있다.
  • API는 애플리케이션 인터페이스를 제공한다.
  • 코어는 컴파일 시간이 아닌 런타임에만 필요하다.

build.gradle

dependencies {
  implementation 'org.apache.logging.log4j:log4j-api:2.19.0'
  implementation 'org.apache.logging.log4j:log4j-core:2.19.0'
}
  • 버전 관리를 위해서는 다음 같이 작성한다. ```groovy plugins { id ‘io.spring.dependency-management’ version ‘1.0.1.RELEASE’ }

dependencyManagement { imports { mavenBom ‘org.apache.logging.log4j:log4j-bom:2.19.0’ } }

dependencies { implementation ‘org.apache.logging.log4j:log4j-api’ implementation ‘org.apache.logging.log4j:log4j-core’ }



### src/main/resources/log4j2.xml, src/test/resources/log4j2.xml

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

참고

Comments