2013-07-30 9 views
5

So che ci sono state richieste di domande su questo, ma ho cercato di farlo funzionare per pochi giorni e non sono più avanti quando ho iniziato.Ottenere log4j2 per funzionare con eclissi

ho cercato di usare -Dlog4j.configuration=file:/path/to/log4j.properties e -Dlog4j.debug in argomenti VM Eclipse (sotto di debug & run) e ottenere nessuna uscita

Ho provato ad utilizzare .properties e XML, ma nessuna gioia

cercato di mettere i file .xml e .properties nella root, nello src e in una cartella esterna che ho aggiunto al mio classpath ... ancora nessuna gioia

Penso che usi un altro file .xml o .properties in un'altra lib/jar ma perché non riesco a fare il debug al lavoro sto trovando molto difficile da tra ck cosa sto facendo male qui ...

qualsiasi aiuto sarebbe fantastico! di seguito è riportato il codice .. viene stampato solo il messaggio di errore.

Ho download (http://logging.apache.org/log4j/2.x/download.html) e importata in mia app file log4j-api-2.0-beta8.jar log4j-core-2.0-beta8

import org.apache.logging.log4j.LogManager; 
import org.apache.logging.log4j.Logger; 

public class CucmServMonitor 
{ 
private static final Logger logger = LogManager.getLogger(CucmServMonitor.class.getName()) 
    public static void main(String[] args) 
    { 
    logger.error("testing ERROR level"); 
    logger.trace("exiting application"); 
    System.out.println(logger.getName()); 
    } 
} 

xml sto usando solo ora log4j2.xml

<?xml version="1.0" encoding="UTF-8"?> 
<configuration status="WARN"> 
    <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="debug"> 
    <appender-ref ref="Console"/> 
    </root> 
</loggers> 
</configuration> 
+0

Vedere http://stackoverflow.com/questions/24231773/specifying-a-custom-log4j-properties-file-for-all-of-junit-tests-run-from-eclips – Raedwald

risposta

5

Gestire per capire questo fuori. Il suggerimento era qui.

http://pic.dhe.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftasks-112.htm

avevo bisogno di aggiungere una "cartella di classe" di dove si trovava il log4j2.xml e quindi assicurarsi che fosse in cima alla lista:

Right click on your project and go to properties Fare clic destro sul progetto e passare alle proprietà

Quindi seguire la procedura indicata di seguito. Dopo aver aggiunto la cartella di assicurarsi che il suo in alto e fare clic su OK enter image description here

0

1) Creare i log4j.properties file all'interno della cartella radice

log4j.rootCategory=DEBUG, CONSOLE 

# Appender writes to console 
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 
log4j.appender.CONSOLE.Threshold=INFO 
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout 
log4j.appender.CONSOLE.layout.ConversionPattern=%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n 

2) Modificare il codice come questo

import org.apache.log4j.Logger; 
import org.apache.log4j.PropertyConfigurator; 
public class CucmServMonitor { 
    private static final Logger logger = Logger.getLogger(CucmServMonitor.class); 
    public static void main(String[] args) { 
     PropertyConfigurator.configure("log4j.properties"); 
     logger.error("testing ERROR level"); 
     logger.trace("exiting application"); 
     System.out.println(logger.getName()); 
    } 
} 
+0

Grazie per la risposta. forse questo è il problema che sto avendo ma con i file jar che ho importato posso usare solo le seguenti istruzioni import 'import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; ' – alexis

2

Oppure ... basta creare una directory di risorse come src/test/risorse e aggiungere il file log4j.xml a quella dir e poi fare quella directory una cartella di origine. Quindi eclipse copierà automaticamente il file nella directory classes e lì lo avrai.

Problemi correlati