2015-04-23 21 views
8

Voglio usare log4j2 Commons Logging Bridge con i comuni 1.2. Ho cercato di usare qualcosa come segue:Come usare log4j2 Commons Logging Bridge

import org.apache.logging.log4j.jcl.LogFactoryImpl; 

public class MyClass{ 

    private static Log log = LogFactoryImpl.getLog(DropinsBundleDeployer.class); 
     . 
     . 
     . 
    log.error("Error occured", e); 
} 

Ma quando sono in esecuzione il codice mi sto seguente problema e non riesco a vedere alcun registro:

log4j:WARN Please initialize the log4j system properly. 

Tuttavia il file log4j2.xml è in il percorso di classe. Come posso usare correttamente i comuni che registrano 1.2 con log4j2?

risposta

11

Si consiglia di consultare la pagina delle domande frequenti su which jars you need.

Avrete bisogno dei seguenti vasi nel classpath:

  • log4j-API-2.2
  • log4j-core-2.2
  • log4j-JCL-2.2
  • Commons Logging

Assicurarsi inoltre che log4j-1.2 sia non nel classpath. I messaggi di errore hanno l'aspetto di un errore log4j-1.2 ...

+0

Se utilizzo log4j-jcl-2.2, devo ancora avere il barattolo di registrazione dei comuni? o usare solo il bridge jcl è sufficiente? – Grant

+2

Sono necessari sia il jar di registrazione delle risorse comuni sia il jar di ponte log4j-jcl. –