有没有办法在 Log4j 日志消息中显示用户数据?
Is there any way to show user data in Log4j logging message?
我知道,问题看起来有点混乱。让我详细解释一下。
我有一些数据想在 Logger
中与用户消息一起显示。
例如。
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 测试信息
所以我的问题是,我们可以 set/send 记录器模式中的用户数据吗?
我见过一些用户扩展 Appender
class 并覆盖 append()
方法的示例。但我正在寻找一些不同的方法。
要在记录器条目中动态放置上下文数据,请使用 Log4j 中的 MDC 功能。
这是一个例子:
// JAVA CODE
org.apache.log4j.MDC.put("User_data", "this is my user data");
// Log4j Pattern
%X{User_data}
我知道,问题看起来有点混乱。让我详细解释一下。
我有一些数据想在 Logger
中与用户消息一起显示。
例如。
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 测试信息
所以我的问题是,我们可以 set/send 记录器模式中的用户数据吗?
我见过一些用户扩展 Appender
class 并覆盖 append()
方法的示例。但我正在寻找一些不同的方法。
要在记录器条目中动态放置上下文数据,请使用 Log4j 中的 MDC 功能。
这是一个例子:
// JAVA CODE
org.apache.log4j.MDC.put("User_data", "this is my user data");
// Log4j Pattern
%X{User_data}