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

Popular posts from this blog

php - render data via PDO::FETCH_FUNC vs loop -

c++ - OpenCV Error: Assertion failed <scn == 3 ::scn == 4> in unknown function, -

The canvas has been tainted by cross-origin data in chrome only -