如何使用Log4j为每个用户创建单独的日志

时间:2013-04-03 07:50:38

标签: java logging log4j

我们正在使用Log4j创建应用程序日志,并将其附加到文件中,该文件的路径在其logger-config文件中提供。

我们正在为登录系统的每个用户创建日志。并且该系统在生产和应用程序用户同时登录300-500之间。 那么这个基于用户的日志记录将基于规则,仅适用于特定用户(用于监控任何错误/异常)

目前我只想知道如何使用带有JAVA的Log4j为每个用户创建单独的文件日志。

此外,我想知道是否有其他API提供此类选项?

1 个答案:

答案 0 :(得分:0)

在独立的java程序/胖客户端中,如果每个用户使用不同的os用户名运行应用程序,则可以在log4j.properties中使用“$ {user.name}”变量。

log_path=./
log_foldername=logs/
log_prefix=logfileprefix_${user.name}_logfilesuffix

log4j.appender.LogDebug=org.apache.log4j.RollingFileAppender
log4j.appender.LogDebug.File=${log_path}${log_foldername}${log_prefix}_LogDebug.txt
log4j.appender.LogDebug.MaxFileSize=5000KB
log4j.appender.LogDebug.MaxBackupIndex=2
log4j.appender.LogDebug.layout=org.apache.log4j.PatternLayout
log4j.appender.LogDebug.layout.ConversionPattern=[%-20t]-[%d] %-5p %c.%M():%L - %m%n
log4j.appender.LogDebug.threshold=debug