如何在不同数据库中持久保存日志消息

时间:2019-06-26 05:24:13

标签: spring logging slf4j

我需要在Spring应用程序中记录请求和响应。现在,我将其保留在数据库表中。它们都具有相同的格式。我想将请求和响应保存在单独的表中(例如request_table和response_table)。请求和响应具有相同的UUID。

现在我有了slf4j2.xml文件,可将日志消息持久保存在一个表中

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
    <Console name="Console" target="SYSTEM_OUT">
        <PatternLayout pattern="%d{yyyy-MMM-dd hh:mm:ss a } %level %c - 
%m%n" />
    </Console>
    <JDBC name="PSDatabase" tableName="APP_LOGS">
        <ConnectionFactory 
 class="****.************.*****.*****.********.audit.ConnectionFactory" 
 method="getConnection" />
        <Column name="LOG_ID" pattern="%u" isUnicode="false"/>
        <Column name="ENTRY_DATE" isEventTimestamp="true" 
  isUnicode="false"/>
        <Column name="LOGGER" pattern="%logger" isUnicode="false"/>
        <Column name="LOG_LEVEL" pattern="%level" isUnicode="false"/>
        <Column name="MESSAGE" pattern="%m" isUnicode="false"/>
        <Column name="EXCEPTION" pattern="%throwable " 
 isUnicode="false"/>
        <Column name="UID" pattern="%X{log.uuid}" isUnicode="false"/>
        <Column name="TYPE" pattern="%X{log.type}" isUnicode="false"/>
    </JDBC>
</Appenders>

<Loggers>
    <Logger name="****.************.*****.*****.********.audit" 
  level="info" additivity="false">
        <AppenderRef ref="PSDatabase" />
    </Logger>

    <Root level="info">
        <AppenderRef ref="Console" />
    </Root>
</Loggers>

 </Configuration>

0 个答案:

没有答案