2017-03-25 6 views
0

Log4j iam을 사용하여 로그인 된 사용자 수준 로그를 쓰려고합니다.log4j를 사용하여 hadoop에서 로그인 한 사용자 특정 로그를 쓰는 방법

기계에 로그인 한 'X'사용자를 사용한다고 가정 할 때 Log4J 특성 파일에서 사용자 이름을 가져와야합니다. Y 사용자가 다음 작성해야하는 경우에,
유사 /Desktop/X/final.log : 그래서, 난 내 로그를 기록 할 수 있습니다 내가 $에게 {사용자}를 사용하여 시도 /Desktop/Y/final.log

하지만, 작동 안함.

가 {사용자}

어떤 도움을 /final.log

log4j.appender.file = org.apache.log4j.RollingFileAppender log4j.appender.file.File =/데스크탑/$이 을 감사합니다!

답변

0

이 작업을 수행하는 방법은 log4j을 사용하는 프로그램에 시스템 속성을 삽입하는 것입니다. 예를 들어, 일부 Java 프로그램을 실행중인 경우 -Duser=<your_user>과 함께 user 속성을 전달할 수 있습니다.

log4j.appender.file=org.apache.log4j.RollingFileAppender 
log4j.appender.file.File=/Desktop/${user}/final.log 

원하는 경우 전체 로그 파일 이름을 매개 변수화 할 수 있습니다. 자세한 대답은 here 인 비슷한 질문이 있습니다.