如何使用log4j在hadoop中写入登录的用户特定日志

时间:2017-03-25 20:46:56

标签: hadoop log4j hadoop2

使用Log4j iam尝试写入登录的用户级别日志。

假设使用' X'用户登录到机器后,我需要在Log4J属性文件中获取用户名。所以,我可以将我的日志写入:/Desktop/X/final.log
同样,如果Y用户则应该写入:/Desktop/Y/final.log

我尝试使用$ {user}但没有工作。

log4j.appender.file = org.apache.log4j.RollingFileAppender进行 log4j.appender.file.File = /桌面/ $ {用户} /final.log

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

这样做的一种方法是在使用log4j的程序中注入系统属性。例如,如果您正在运行某些Java程序,则可以使用user传递-Duser=<your_user>属性。

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

更好的是,如果需要,可以参数化整个日志文件名。这是一个类似的问题,详细的回答here