2016-08-22 59 views
0

我知道,问题看起来有点混乱。让我详细解释一下。有什么方法可以在Log4j日志消息中显示用户数据?

我有一些数据,我想每次在Logger与用户消息一起显示。

Ex。 log4j.appender.filer.layout.ConversionPattern=%-5p %d{yyyyddMM-HH:mm:ss} %m%n
控制台: WARN 20162208-18:34:35测试信息

这是我在Log4j.properties文件,它的工作绝对没问题设置的图案。

现在问题出现时,我想添加一些用户数据在这种模式。这个用户数据将会是一些值,将从用户输入中提取。用户数据后,控制台应该有的事情是这样的:
控制台: WARN USER_DATA 20162208-18:34:35测试信息

所以我的问题是,我们可以设置/测量数据记录模式发送的用户数据?

我看过一些例子,其中用户扩展了Appender类,并覆盖了append()方法。但我正在寻找一些不同的方法。

+0

你想在每一个日志*用户数据*? –

+0

@TAsk是的!这是正确的.. –

回答

1

要在记录器条目中动态放置上下文数据,请使用Log4j中的MDC功能。

下面是一个例子:

// JAVA CODE 
org.apache.log4j.MDC.put("User_data", "this is my user data"); 

// Log4j Pattern 
%X{User_data} 
+0

谢谢你的建议!但是由于数据是从用户在运行时提供的用户输入中提取的,所以不可能将数据保存在环境变量中。 –

+0

我修改了我的回答,以便在记录器条目中显示动态数据。 – eighthrazz

+0

谢谢!你让我今天一整天都感觉很好!!! –

相关问题