Undgå debug msg i konsollen med Log4J
Hvordan undgår jeg at debug meddelelser skrives i konsollen. Jeg vil kun ha' dem ud i en logfil, og INFO meddelelser på konsollen.Nu skrives debug meddelelser i min logfil, men både INFO og DEBUG meddelelser på konsollen.
Min main class
package dk.min.test;
//Import log4j classes.
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Logger;
public class MyLog4jClass {
static Logger logger = Logger.getLogger(MyLog4jClass.class);
public static void main(String[] args) {
// Set up a simple configuration that logs on the console.
BasicConfigurator.configure();
logger.info("Entering application.");
SkrivDebug skrivDebug = new SkrivDebug();
skrivDebug.doIt();
SkrivInfo skrivInfo = new SkrivInfo();
skrivInfo.doIt();
logger.info("Exiting application.");
}
}
En klasse
package dk.min.test;
import org.apache.log4j.Logger;
public class SkrivDebug {
static Logger logger = Logger.getLogger(SkrivDebug.class);
public void doIt() {
logger.debug("DEBUG meddelelse!");
}
}
log4j.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} %t %m%n" />
</layout>
</appender>
<appender name="RollingFileAppender" class="org.apache.log4j.RollingFileAppender">
<param name="file" value="MinLog.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} %t %m%n" />
</layout>
</appender>
<logger name="dk.min.test.SkrivDebug">
<level value="DEBUG" />
<appender-ref ref="RollingFileAppender"/>
</logger>
<root>
<priority value="INFO" />
<appender-ref ref="ConsoleAppender"/>
</root>
</log4j:configuration>