2010-01-06 8 views
5

ich diesen Code mit log4j, ich verwende keine Art von KonfigurationsdateienWechsel von log4j logback

static Logger logger = Logger.getLogger(Application.class); 

... 

Appender ap = new NTEventLogAppender(); 

SimpleLayout layout = new SimpleLayout(); 
Appender fp = null; 
try { 
    fp = new FileAppender(layout, "output.txt"); 
} catch (IOException e) {   
    e.printStackTrace(); 
} 

logger.addAppender(ap); 
logger.addAppender(fp); 

logger.info("info"); 

kann mir jemand zeigen, wie kann ich das gleiche tun mit logback

Antwort

6

Warum Verwenden Sie keine Konfigurationsdateien? Liegt das daran, dass Sie die Protokollierungskonfiguration zur Laufzeit ändern?

Sofern Sie nicht einen ganz bestimmten Grund dafür haben, erscheint mir die Konfiguration Ihres Logging-Frameworks mit Konfigurationsdateien sinnvoller.

Wenn Sie Konfigurationsdateien verwenden, können Sie Ihre Konfiguration etwas in diese Richtung sein:

<configuration> 
    <appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
    <file>output.txt</file> 
    <layout class="ch.qos.logback.classic.PatternLayout"> 
     <Pattern>%level - %msg%n</Pattern> 
    </layout> 
    </appender> 

    <root level="debug"> 
    <appender-ref ref="FILE" /> 
    </root> 
</configuration> 

Für die NTEventLogAppender, meines Wissens nicht für logback existiert. Die Portierung eines Appenders von Log4j auf Logback ist jedoch eine ziemlich einfache Aufgabe, daher sollten Sie in der Lage sein, einen eigenen Appender zu erstellen. Wenn Sie den Appender programmatisch konfigurieren müssen, überprüfen Sie die logback documentation und examples: Sie könnten dort einige Ideen finden.

Hoffe, das hilft ...