5

我有这个带有 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 做同样的事情

4

1 回答 1

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 文档示例:您可能会在那里找到一些想法。

希望这可以帮助...

于 2010-01-06T12:35:34.393 回答