如何解析log4j2 JDBC Appender的消息

时间:2015-09-22 14:12:23

标签: java log4j2

在我的应用程序中,我使用预先确定的日志消息,如下所示:

MESSAGE_ID PROCESS_ID This process is running

我想使用JDBC Appender并将我的消息拆分为三个,以便将每个部分放在特定的SQL列中。

这可能吗?怎么样?

非常感谢!

1 个答案:

答案 0 :(得分:2)

一个想法是使用ThreadContext来传输消息ID和进程ID,并为每个项目使用declare jdbc columns,如下所示:

<Column name="MESSAGE" pattern="%message" />
<Column name="MESSAGE_ID" pattern="%X{messageID}" />
<Column name="PROCESS_ID" pattern="%X{processID}" />

在您的代码中,您可以设置如下值:

ThreadContext.put("messageID", UUID.randomUUID().toString();
ThreadContext.put("processID", getProcessId());
...
logger.debug("this process is running");
...