0
進出口使用Log4j2 2.6.2.At應用程序的開始,我打電話以下代碼編程方式配置Log4j2與ConfigurationBuilder
ConfigurationBuilder<BuiltConfiguration> builder = ConfigurationBuilderFactory.newConfigurationBuilder();
builder.setStatusLevel(Level.ERROR);
builder.setConfigurationName("OverrideDefaultConsoleLayout");
AppenderComponentBuilder appenderBuilder = builder.newAppender("Stdout", "CONSOLE").addAttribute("target", ConsoleAppender.Target.SYSTEM_OUT);
appenderBuilder.add(builder.newLayout("PatternLayout").addAttribute("pattern", "%% %msg%n"));
builder.add(appenderBuilder);
builder.add(builder.newLogger("Log4j2Test", Level.DEBUG).add(builder.newAppenderRef("Stdout")).addAttribute("additivity", false));
builder.add(builder.newRootLogger(Level.DEBUG).add(builder.newAppenderRef("Stdout")));
Configurator.initialize(builder.build());
LogManager.getLogger("Log4j2Test").error("Output % followed by this message");
我提到了以下文件:http://logging.apache.org/log4j/2.x/manual/customconfig.html
我的目標是以編程方式配置Log4j2。作爲一個試用版,我試圖覆蓋控制檯Appender的默認佈局。
沒有配置文件(.properties,.xml)可供應用程序使用。因此,在啓動時會顯示以下消息。
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
的輸出被顯示爲
15:43:50.865 [main] ERROR Log4j2Test - Output % followed by this message
即默認佈局正在使用中。我的默認程序覆蓋不起作用。任何人都可以幫助糾正代碼?