반응형
log4j를 콘솔에 쓰는 방법
log4j에게 로그를 파일과 콘솔에 쓰도록 지시하는 방법이 있습니까? 감사합니다 내 속성이 있습니다 :
log4j.rootLogger=DEBUG,console,R
log4j.rootLogger=INFO, FILE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.File=log4j.log
log4j.appender.FILE.MaxFileSize=512KB
log4j.appender.FILE.MaxBackupIndex=3
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n
루트 로거 정의가 약간 혼란 스럽습니다. log4j 문서를 참조하십시오 .
이것은 표준 Java 특성 파일이며, 이는 행이 키 = 값 쌍으로 처리됨을 의미합니다. 두 번째 log4j.rootLogger
줄은 첫 번째 줄을 덮어 쓰는 console
것이므로 어 펜더에 아무것도 표시되지 않는 이유를 설명합니다 .
두 rootLogger
정의를 하나로 병합해야합니다 . DEBUG
메시지는 콘솔로, INFO
메시지는 파일 로 보내 려고하는 것 같습니다 . 루트 로거는 하나의 레벨 만 가질 수 있으므로 어 펜더가 적절한 레벨을 갖도록 구성을 변경해야합니다.
이것이 올바른지 확인하지는 않았지만 다음과 같이 보일 것입니다.
log4j.rootLogger=DEBUG,console,file
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.file=org.apache.log4j.RollingFileAppender
대 / 소문자에도 오류가 있습니다. 한 곳에는 콘솔 소문자가 있고 다른 곳에는 CAPS가 있습니다.
log4j 파일은 아래의 주석을 읽어야합니다.
# Define the types of logger and level of logging
log4j.rootLogger = DEBUG,console, FILE
# Define the File appender
log4j.appender.FILE=org.apache.log4j.FileAppender
# Define Console Appender
log4j.appender.console=org.apache.log4j.ConsoleAppender
# Define the layout for console appender. If you do not
# define it, you will get an error
log4j.appender.console.layout=org.apache.log4j.PatternLayout
# Set the name of the file
log4j.appender.FILE.File=log.out
# Set the immediate flush to true (default)
log4j.appender.FILE.ImmediateFlush=true
# Set the threshold to debug mode
log4j.appender.FILE.Threshold=debug
# Set the append to false, overwrite
log4j.appender.FILE.Append=false
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
이것은 디버그 모드의 콘솔에서 잘 작동합니다.
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n
콘솔과 FILE 모두에 로깅하기 위해 아래와 같이 루트 로거를 작성하십시오.
log4j.rootLogger = 오류, 콘솔, 파일
그리고 Target, Layout 및 ConversionPattern (파일의 경우 MaxFileSize 등)과 같은 각 정의를 작성합니다.
참고 URL : https://stackoverflow.com/questions/3382985/how-to-make-log4j-to-write-to-the-console-as-well
반응형
'programing' 카테고리의 다른 글
git이 WebDAV 리모컨의 비밀번호를 기억하도록하는 방법이 있습니까? (0) | 2020.12.08 |
---|---|
허용 오차가있는 문자열 비교 (0) | 2020.12.08 |
스크립트 실행 후 그놈 터미널 닫기를 피합니까? (0) | 2020.12.08 |
최종 방법 조롱 (0) | 2020.12.08 |
확인란이 선택되어 있는지 어떻게 확인합니까? (0) | 2020.12.08 |