2010-01-06 34 views
5

我有这样的代码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"); 

有谁能够告诉我我该怎么做同样的事情的logback

回答

6

为什么是不是使用配置文件?是因为您在运行时更改了日志记录配置?

除非你有一个非常具体的理由这样做,否则使用配置文件来配置你的日志框架似乎更合理。

如果使用配置文件,您的配置可能是类似的规定:

<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> 

对于NTEventLogAppender,就我所知,它不适合的logback存在。但是将appender从log4j移植到logback是一件非常容易的事情,所以你应该可以创建自己的appender。

如果您需要以编程方式配置appender,请检查logback documentationexamples:您可能会在那里找到一些想法。

希望这有助于...