둘러보기 생략.
 

같은 logger 이름으로 다른 Appender 사용하는 방법을 알고 싶습니다.

안녕하세요.

Log 남길때

Appender를 ERROR / INFO / DEBUG 별로 각각 만드려고 합니다.

즉, com.xxx.ttt 아래의 모든 class에서

DEBUG, ERROR, INFO를 file appender를 각자 쓰고 싶은데요.

즉, 이렇게 사용하고 싶습니다.

logger name="com.xxx.ttt" additivity="false"
level value="DEBUG"
appender-ref ref="DEBUGAPPENDARFILE"
level value="ERROR"
appender-ref ref="ERRORAPPENDARFILE"
level value="INFO"
appender-ref ref="INFOAPPENDARFILE"

방법이 없을지요.

문의드립니다.

같은 logger 이름으로 다른 Appender 사용하는 방법

다음은 log4j.dtd 파일의 일부입니다.

<!ELEMENT logger (level?,appender-ref*)>
<!ATTLIST logger
  name		ID	#REQUIRED
  additivity	(true|false) "true"  
>

DTD 정의된 내용을 보시면, logger라는 태그 내에는 하위에 0 또는 1개의 level 태그를 정의할 수 있고, 여러 개의
appender-ref 태그를 정의할 수 있습니다.
즉, 하나의 Logger는 여러 개의 target에 로그를 남길 수 있으나 단, 동일한 Log Level이 적용됩니다.
따라서 요청하신 형태의 Logger를 사용하시고자 하면, log4j 모듈 자체에 대한 확장이 필요할 것으로 보입니다.