java - Log4j2 not logging to console -
i cannot log4j 2 log console. nothing showing when running gradle.
log4j2.xml
in projects root directory:
<?xml version="1.0" encoding="utf-8"?> <configuration status="all"> <appenders> <console name="console" target="system_out"> <patternlayout pattern="%d{hh:mm:ss.sss} [%t] %-5level %logger{36} - %msg%n"/> </console> </appenders> <loggers> <root level="all"> <appenderref ref="console"/> </root> </loggers> </configuration>
usage in classes:
public class abchandler { private final logger logger = logmanager.getlogger(); public abc(string serialportname) { logger.info("opening serial port {}", serialportname); } }
loading file , configurations on machine works.
this class used:
import org.apache.logging.log4j.logmanager; import org.apache.logging.log4j.logger; public class test { private final logger logger = logmanager.getlogger(test.class); public test(string serialportname) { system.out.println(logger.isinfoenabled()); logger.entry(); logger.info("info! {}", serialportname); logger.error("error! {}", serialportname); logger.debug("debug! {}", serialportname); } public static void main(string args[]) { test h1 = new test("1001"); } }
this log4j2.xml:
<thresholdfilter level="all"/> <appenders> <console name="stdout" target="system_out"> <patternlayout pattern="%d %-5p method: [%t] %c{2} (%f:%l) - %m%n"/> </console> </appenders> <loggers> <root level="all"> <appenderref ref="stdout"/> </root> </loggers>
and finally, output:
true 2014-05-29 12:19:15,266 trace method: [main] test (test.java:10) - entry 2014-05-29 12:19:15,268 info method: [main] test (test.java:11) - info! 1001 2014-05-29 12:19:15,269 error method: [main] test (test.java:12) - error! 1001 2014-05-29 12:19:15,269 debug method: [main] test (test.java:13) - debug! 1001
one common error when using log4j2 placing log4j2.xml in file not in classpath.
to diagnose if problem, change line
logger.info("opening serial port {}", serialportname);
to
logger.error("opening serial port {}", serialportname);
if see output because log4j can't load file. because default log level when file not found error, not debug.
the location of log4j2.xml on project (maven) in src/main/resources, know in classpath.
Comments
Post a Comment