1
아래와 같이 여러 로거를 정의했습니다 (com.xyz 및 org.xyz). Log4j2는 첫 번째 로거 정의를 무시하고 두 번째 로거 정의 만로드합니다. 예제에서, org.xyz는로드되지 않습니다.Log4j2 : 여러 로거를 정의하는 방법
아래에서 log4j2 디버그 메시지를 찾으십시오.
DEBUG StatusLogger Processing node for object loggers
DEBUG StatusLogger Processing node for object logger
DEBUG StatusLogger Node name is of type STRING
DEBUG StatusLogger Node level is of type STRING
DEBUG StatusLogger Node additivity is of type STRING
DEBUG StatusLogger Processing node for array appender-ref
DEBUG StatusLogger Processing appender-ref[0]
DEBUG StatusLogger Returning logger with parent loggers of type logger:class org.apache.logging.log4j.core.config.LoggerConfig
DEBUG StatusLogger Processing node for object root
DEBUG StatusLogger Node level is of type STRING
DEBUG StatusLogger Processing node for object appender-ref
DEBUG StatusLogger Node ref is of type STRING
DEBUG StatusLogger Node level is of type STRING
DEBUG StatusLogger Returning appender-ref with parent root of type appender-ref:class org.apache.logging.log4j.core.config.AppenderRef
DEBUG StatusLogger Returning root with parent loggers of type root:class org.apache.logging.log4j.core.config.LoggerConfig$RootLogger
DEBUG StatusLogger Returning loggers with parent root of type loggers:class org.apache.logging.log4j.core.config.LoggersPlugin
DEBUG StatusLogger Completed parsing configuration
DEBUG StatusLogger Building Plugin[name=logger, class=org.apache.logging.log4j.core.config.LoggerConfig].
DEBUG StatusLogger createLogger(additivity="false", level="DEBUG", name="com.xyz", includeLocation="null", ={Console-Appender}, ={}, Configuration(Default), Filter=null)
DEBUG StatusLogger Building Plugin[name=appender-ref, class=org.apache.logging.log4j.core.config.AppenderRef].
DEBUG StatusLogger createAppenderRef(ref="Console-Appender", level="WARN", Filter=null)
DEBUG StatusLogger Building Plugin[name=root, class=org.apache.logging.log4j.core.config.LoggerConfig$RootLogger].
DEBUG StatusLogger createLogger(additivity="null", level="WARN", includeLocation="null", ={Console-Appender}, ={}, Configuration(Default), Filter=null)
DEBUG StatusLogger Building Plugin[name=loggers, class=org.apache.logging.log4j.core.config.LoggersPlugin].
DEBUG StatusLogger createLoggers(={com.xyz, root})
구성이 맞습니까?
을의 org.xyz는 loadded되고 com.xyz는 무시됩니다. – user8426833
두 로거가 모두 동일한 'JSON' 키 이름 인'logger'를 사용하고 있기 때문에 그렇습니까? 마지막 항목 만 만들어지고 이전 항목을 덮어 씁니다. 고유 한 이름으로 변경할 수 있습니까? 일부 파서가 dup을 덮어 쓰는 것처럼 JSON 동작에 대해 생각해보십시오. –
감사합니다. Aniket. 문제가 json 구성에있는 것 같습니다. config 파일을 xml 형식으로 변환했습니다. 두 로거가 모두 인식됩니다. – user8426833