程序化log4j2配置不起作用

时间:2017-01-17 18:09:11

标签: logging configuration log4j2

我正在尝试以编程方式配置log4j2,方式与文档(http://logging.apache.org/log4j/2.x/manual/customconfig.html)类似:

ConfigurationBuilder<BuiltConfiguration> builder = ConfigurationBuilderFactory.newConfigurationBuilder();
builder.setStatusLevel(Level.TRACE);
builder.setConfigurationName("Config");
AppenderComponentBuilder console = builder.newAppender("Stdout", "Console")
        .addAttribute("target", ConsoleAppender.Target.SYSTEM_OUT)
        .add(builder.newLayout("PatternLayout").addAttribute("pattern", logFormat));
builder.add(console);
builder.add(builder.newRootLogger(Level.DEBUG).add(builder.newAppenderRef("Stdout")));
Configurator.initialize(builder.build());

LogManager.getLogger("foo.bar").debug("TestMsg");

但是,最后的日志消息不会将任何内容记录到控制台。将其更改为error会记录某些内容。我无法弄清楚跟踪日志中的错误。我错过了什么,为什么不调试日志?

编辑:

follow: true上设置ConsoleAppender(我们在正在运行的情况下更改stdout)并将其添加到最后使其记录:

Configurator.setRootLevel(Level.DEBUG);

但是,它没有使用我们指定的日志格式,它使用简单的转换模式 - 甚至不是默认格式!是否有一些记录器记录我可以打开以解决它为什么这样做 - 状态跟踪记录仅在启动和&amp;关机?

0 个答案:

没有答案