2016-06-22 3 views
1

Log4j2를 처음 사용합니다. slf4j 및 log4j2를 사용하여 로깅 시스템을 구성하려고합니다.Log4j2 구성 로그 파일

나는 의심의 여지가 없다.

log4j2를 구성하는 동안 구성 로그 양식 log4j2가 콘솔에 인쇄되었습니다. 콘솔 대신 파일에 로그를 인쇄하고 싶습니다.

log4j2의 appender를 사용할 수있는 방법이 있습니까?

추 신 : Log4j2는 StatusLogger를 사용하여 구성 로그를 인쇄합니다. 파일을 사용하는 방법이 있습니까?

답변

1

이 작업을 수행하는 가장 간단한 방법은 파일에 프로세스 출력을 리디렉션하는 것입니다

(일부 properties 당신이 파일에 상태 로그를 작성하여 Log4j에게 사용할 수 있습니다 아마 org.apache.logging.logj.simplelog.logFile 있습니다
java -cp lib/*.jar com.mypackage.MyClass > output.txt 

), Log4j 2가 완전히 초기화 된 후에 작동합니다. Log4j 2 시작 및 초기화 중에 방출되는 내부 상태 로그 문에 관심이 있다고 가정합니다. 이를 위해 파일로 리디렉션하는 것이 좋습니다.

+0

도움 주셔서 감사합니다. 이 코드는 메인 클래스의 정적 블록에서 실행됩니다. 'final File logFile = new File ("fileName"); logFile.createNewFile(); final StatusConsoleListener statusConsoleListener = new StatusConsoleListener (StatusLogger.getLogger(). getLevel(), 새 PrintStream (로그 파일)); StatusLogger.getLogger(). reset(); \t \t StatusLogger.getLogger(). registerListener (statusConsoleListener);' – suraj1291993