有没有一种方法可以将属性映射传递给slf4j记录器?
例如,我想做这样的事情:
Logger logger = LoggerFactory.getLogger(SomeClass.class);
Map data = new HashMap<String, String>();
data["key1"] = "value1";
data["key2"] = "value2";
logger.info("my info message", data)
然后,我希望我的 appender 能够接收 log4j LoggingEvent
,并包含上述参数,就像这样:
public class MyAppender extends AppenderSkeleton {
...
...
@Override
protected void append(LoggingEvent event) {
Map properties = event.getProperties();
String valueOfKey1 = (String) properties.get("key1");
//valueOfKey1 sould be equal to 'value1'
}
...
...
更新:
是否有任何支持传递HashMap数据(或类似于其接口)的Java日志记录框架?