Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
vertx:log4j [2014/05/12 22:46]
alex
vertx:log4j [2014/06/07 02:39] (current)
alex
Line 1: Line 1:
-=== How to use vert.x logging with Log4j and slf4j ===+==== How to use vert.x logging with Log4j and slf4j ====
  
 Running vert.x with another logger tool looks easy, however I had a few problems getting this to work, after some reseach, some questions in the vert.x group (Thanks Tim), at least on bug fix by yours truly, it basically works. Running vert.x with another logger tool looks easy, however I had a few problems getting this to work, after some reseach, some questions in the vert.x group (Thanks Tim), at least on bug fix by yours truly, it basically works.
  
-= First of all, whats the point =+=== First of all, whats the point ===
  
 vert.x uses java.util.logging by default, which is quite ok for most use cases, however it doesn'​t support logging of class names, code locations etc, so a more fancy logging framework might be useful. There are many to choose from and everybody probably has their favorite, log4j, slf4j, logback, log4j2. vert.x uses java.util.logging by default, which is quite ok for most use cases, however it doesn'​t support logging of class names, code locations etc, so a more fancy logging framework might be useful. There are many to choose from and everybody probably has their favorite, log4j, slf4j, logback, log4j2.
Line 9: Line 9:
 I personally usually use slf4j and log4j as backend for development (and simple logger for live systems, though I do not really have much of "​live"​ things since we use other tools on my work projects), when running inside Eclipse, logback may be a good idea, somebody suggested log4j2 on the group. I personally usually use slf4j and log4j as backend for development (and simple logger for live systems, though I do not really have much of "​live"​ things since we use other tools on my work projects), when running inside Eclipse, logback may be a good idea, somebody suggested log4j2 on the group.
  
 +=== Running in maven ===
 +
 +     mvn package vertx:​runMod -Dorg.vertx.logger-delegate-factory-class-name=org.vertx.java.core.logging.impl.Log4jLogDelegateFactory -Dlog4j.ignoreTCL=true
 +
 +should work around an problem in maven causes an error
 +
 +    log4j:ERROR A "​org.apache.log4j.ConsoleAppender"​ object is not assignable to a "​org.apache.log4j.Appender"​ variable.
 +    log4j:ERROR The class "​org.apache.log4j.Appender"​ was loaded by
 +    log4j:ERROR [ClassRealm[plugin>​io.vertx:​vertx-maven-plugin:​2.0.5-final,​ parent: [email protected]]] whereas object of type
 +    log4j:ERROR "​org.apache.log4j.ConsoleAppender"​ was loaded by [[email protected]a18817].
 +    log4j:ERROR Could not instantiate appender named "​stdout"​.
 +
 +(this hint is from a stackoverflow article http://​stackoverflow.com/​questions/​12404934/​configure-org-apache-log4j-consoleappender-with-custom-classloader )