Java 使用LogBack登录到数据库

Java 使用LogBack登录到数据库,java,log4j,logback,mdc,Java,Log4j,Logback,Mdc,使用log4j,我曾经有一个appender,它直接记录到数据库中的一个表中。附录如下: <appender name="DATABASE_LOG" class="org.apache.log4j.jdbc.JDBCAppender"> <param name="URL" value="jdbc:postgresql://localhost/registrationdb" /> <param name="Driver" value=

使用log4j,我曾经有一个appender,它直接记录到数据库中的一个表中。附录如下:

 <appender name="DATABASE_LOG" class="org.apache.log4j.jdbc.JDBCAppender">
        <param name="URL" value="jdbc:postgresql://localhost/registrationdb" />
        <param name="Driver" value="org.postgresql.Driver"/>
        <param name="User" value="postgres"/>
        <param name="Password" value="********/>
        <layout class="org.apache.log4j.EnhancedPatternLayout">
            <param name="ConversionPattern" value="INSERT INTO user (user_id,creation_datetime,comment,user_type) VALUES ('%X{userId}','%d{yyyy-MM-dd HH:mm:ss}','%X{comment}','%X{userType}')"/>
        </layout>
        <filter class="org.apache.log4j.varia.LevelRangeFilter">
            <param name="LevelMin" value="DEBUG" />
            <param name="LevelMax" value="INFO" />
        </filter>
  </appender>


是的,Logback需要3个数据库表,您不能跳过其中任何一个,您只能自定义它们的名称。这实际上是一个优势,Log4J根本不记录异常,而Logback为堆栈跟踪行使用单独的表。它还记录属性(第三个表)


如果您希望自定义表和/或列名,可以实现。

我添加了文档中建议的表,并且它已成功地登录到其中。但我不能将日志记录到自定义数据库表中吗?(我所说的自定义是指我自己的表模式)。非常感谢您的帮助。@MohammedSoueidane:实际上您可以自定义表名和列名,请参阅我的更新。有趣的是,我自己实现了这个特性,却忘记了;-)。