我知道,问题看起来有点令人困惑。让我详细解释一下。
我想在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测试信息
所以我的问题是,我们可以用logger模式设置/发送用户数据吗?
我已经看到一些用户正在扩展Appender
类并覆盖append()
方法的示例。但我正在寻找一些不同的方法。
答案 0 :(得分:1)
要在记录器条目中动态放置上下文数据,请使用Log4j中的MDC功能。
以下是一个例子:
// JAVA CODE
org.apache.log4j.MDC.put("User_data", "this is my user data");
// Log4j Pattern
%X{User_data}