Differences

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

Link to this comparison view

Next revision
Previous revision
vertx:log4j [2014/05/11 17:15]
alex created
vertx:log4j [2014/06/07 02:39]
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. 
 + 
 +=== 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. 
 + 
 +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 )