Logging Log4j2记录到数据库

Logging Log4j2记录到数据库,logging,database-connection,log4j2,Logging,Database Connection,Log4j2,晚上好 我们有一个项目,其中包括将数据记录到数据库。它是Netbeans IDE中的一个Maven项目。 我们的老师已经在项目中添加了log4j2.xml文件 <?xml version="1.0" encoding="UTF-8"?> <Configuration status="INFO" monitorInterval="30"> <Appenders> <Console name="Console" target="SYSTE

晚上好

我们有一个项目,其中包括将数据记录到数据库。它是Netbeans IDE中的一个Maven项目。 我们的老师已经在项目中添加了log4j2.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO" monitorInterval="30">

   <Appenders>
      <Console name="Console" target="SYSTEM_OUT">
         <PatternLayout pattern="%style{%d{DEFAULT}}{White} %highlight{%-5level} - %msg%n" />
      </Console>
   </Appenders>

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

</Configuration>

我现在尝试添加一个Jdbc追加器。看起来是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO" monitorInterval="30">

   <Appenders>
      <Console name="Console" target="SYSTEM_OUT">
         <PatternLayout pattern="%style{%d{DEFAULT}}{White} %highlight{%-5level} - %msg%n" />
      </Console>
   </Appenders>


    <appender name="DB" class="org.apache.log4j.jdbc.JDBCAppender">
        <param name="url" value="CONNECTION"/>
        <param name="driver" value="com.mysql.jdbc.Driver"/>
        <param name="user" value="LOGIN"/>
        <param name="password" value="PW"/>
        <param name="sql" value="INSERT INTO logs VALUES('%x','%d','%C','%p','%m')"/>

        <layout class="org.apache.log4j.PatternLayout">
        </layout>
     </appender>

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

</Configuration>

如果我现在尝试构建并执行代码,则会出现以下错误消息

主错误无法找到记录器配置“root”的追加器“DB”


有人明白这意味着什么吗?我整天都在和log4j打交道。如果有人能帮我,那就太好了

将您的
放在
标签内。

我不得不将“appender”也改为“jdbc”,但谢谢您的帮助。现在我有了新问题。@Kjenos你有什么解决办法吗?我也面临同样的问题。如果你修好了,你能分享一下吗?@Krishna不,很遗憾,不,这只是一个学校项目,我们这次更改了它,只是在本地保存它。。。对不起,我帮不上忙。