2011-12-22 21 views
9

Mi chiedo come ottenere org.slf4j.Logger per System.out. So che non va bene, ma ne ho bisogno a scopo di test.Come creare un Logger per System.out

Grazie mille.

+0

Vedere anche http://stackoverflow.com/a/5903253/127971 => utilizzare slf4j + logback e due diversi file di configurazione di logback; uno per il test, uno per il principale – michael

risposta

3

Questo potrebbe aiutare: sysout-over-slf4j

+1

Questo risponde alla domanda sbagliata. L'OP ha chiesto come scrivere i messaggi di slf4j su System.out. sysout-over-slf4j invia messaggi scritti a System.out nel framework slf4j. Queste sono 2 cose diverse. La risposta corretta è di Jean-Philippe Briend –

4

SLF4J è una facciata di registrazione. È necessaria un'implementazione di registrazione.

Al giorno d'oggi, Logback è il framework raccomandato per la registrazione.

Per accedere a System.out, è necessario utilizzare ConsoleAppender nel file di configurazione Logback.

Esempio:

<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"> 
    <target>System.out</target> 
    <encoder> 
    <pattern>%-40.40c [%5.5thread] %-5p %X - %m%n</pattern> 
    </encoder> 
</appender> 
+2

Penso che il logback (o log4j) sia eccessivo per questo scopo. slf4j-simple è inteso per questo caso d'uso. –

+0

Grazie per il tuo tempo. –

3

simplelogger.properties mettere nel vostro percorso di classe e mettere questa linea in esso:

org.slf4j.simpleLogger.logFile=System.out 

questa volontà causa SLF4J Simple Logger per accedere all'output standard invece dell'errore standard.