从log4j切换到logback

时间:2010-01-06 09:23:16

标签: java log4j logback

我有这个代码用log4j,我不使用任何类型的配置文件

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执行相同的操作

1 个答案:

答案 0 :(得分: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:您可能会在那里找到一些想法。

希望这会有所帮助......