Reputation: 559
Good evening
We have a project and it includes to log data to a database. Its a Maven Project in a Netbeans IDE. Our teacher already added a log4j2.xml file to the project.
<?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>
I now tried to add a Jdbc Appender. and it looks like this:
<?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>
If i try now to build and execute my code, following Error message occurs.
main ERROR Unable to locate appender "DB" for logger config "root"
Does anybody understands what this means? I'm struggling with log4j all day. Would be great if someone could help me!
Upvotes: 0
Views: 3821
Reputation: 1215
Place your <appender name="DB" class="org.apache.log4j.jdbc.JDBCAppender">
inside the <Appenders></Appenders>
tag.
Upvotes: 1