【发布时间】:2020-01-28 08:21:53
【问题描述】:
我正在学习在我的应用程序中使用 log4j2。为了配合,我添加了一个带有格式说明符的附加程序和模式布局。但是,输出不符合规范。甚至 INFO 级别的语句也没有被打印出来。 代码:
public static void main(String[] args) {
ConfigurationBuilder<BuiltConfiguration> builder=ConfigurationBuilderFactory.newConfigurationBuilder();
AppenderComponentBuilder appenderBuilder = builder.newAppender("Stdout", "CONSOLE");
appenderBuilder.add(builder.newLayout("PatternLayout").addAttribute("pattern", "[%c{1}] %m\\n"));
builder.add(appenderBuilder);
Logger logger = LogManager.getLogger();
logger.log(Level.INFO, "This is a first Info log");
logger.log(Level.INFO, "This is a second Info log");
logger.log(Level.ERROR, "This is a first Error log");
logger.log(Level.FATAL, "This is a first fatal log");
}
-
我面临的问题是:
- 日志输出不符合我指定的模式。我有 尝试更改模式,它仍然以相同的格式打印。
- 我添加了四个日志记录语句,其中只打印了两个(ERROR 和 FATAL)。
输出:
Logging output for pattern ("%m\\n"):
14:42:06.046 [main] ERROR loghelper.log4j.Log2Helper - This is a first Error log
14:42:06.049 [main] FATAL loghelper.log4j.Log2Helper - This is a first fatal log
Logging output for pattern ("%d [%t] %-5level: %msg%n%throwable"):
14:41:23.555 [main] ERROR loghelper.log4j.Log2Helper - This is a first Error log
14:41:23.557 [main] FATAL loghelper.log4j.Log2Helper - This is a first fatal log
【问题讨论】:
-
你有什么问题?
-
日志输出不符合我指定的模式。我什至尝试过改变模式,它仍然打印相同。另外,我添加了四个日志语句,其中只打印了两个(ERROR 和 FATAL)。