수색…


비고

이 절에서는 log4j2가 무엇인지, 그리고 왜 개발자가 그것을 사용하고 싶어하는지에 대한 개요를 제공합니다.

또한 log4j2 내의 큰 주제를 언급하고 관련 주제에 링크해야합니다. log4j2에 대한 문서는 새로운 것이므로 관련 주제의 초기 버전을 만들어야 할 수도 있습니다.

왜 Log4j 1.x를 사용하지 않습니까?

Log4j 1.x는 2015 년 8 월 5 일을 기점으로 수명이 끝납니다. [1] [2]. Apache Log4j 2는 Log4j 1.x의 후속 제품입니다. Log4j 1.x에 의존하지만 Log4j 2로 업그레이드하려는 프로젝트에 대한 바인딩을 제공합니다. Log4j 1.x와의 호환성 외에도 SLF4J, Commons Logging 및 java.util.logging API에 대한 호환성이 제공됩니다.

[1] https://logging.apache.org/log4j/1.2/
[2] https://blogs.apache.org/foundation/entry/apache_logging_services_project_announces

설치 또는 설정

이것은 모든 로그 메시지를 콘솔과 로그 파일로 보낼 기본적인 설정입니다.

라이브러리부터 시작하겠습니다. 그것을 위해 maven을 사용할 것입니다 :

    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.8.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.8.2</version>
    </dependency>

다음으로 log4j2.properties를 작성합니다 (이 경우 속성 파일을 사용합니다). 컨텍스트 경로에 넣을 것이고, maven에서는 리소스 폴더 (대부분의 경우 src / main / resources)에 있어야합니다.

name=PropertiesConfig
property.filename = logs
appenders = console, file

appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n

appender.file.type = File
appender.file.name = LOGFILE
appender.file.fileName=${filename}/propertieslogs.log
appender.file.layout.type=PatternLayout
appender.file.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n

loggers=file
logger.file.name=com.es.form.studio
logger.file.level = debug
logger.file.appenderRefs = file
logger.file.appenderRef.file.ref = LOGFILE

rootLogger.level = debug
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT

이 예제를 사용하려면 logger.file.name = com.es.form.studio를 변경하여 원하는 패키지를 대상으로 지정해야합니다. 그렇게하지 않으면 파일에 로그가 표시되지 않습니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow