【发布时间】:2019-06-05 03:37:00
【问题描述】:
我正在尝试在标准 Java 应用程序中设置 log4j2。
我已经登录了许多在线教程,但它们都基于使用 Maven 项目,而我正在使用 SDK 1.8 使用 Standard Vanilla Java。该应用程序没有 Main Class 作为起点,因为该应用程序是另一个执行已构建 .jar 的应用程序的插件。
我有一个符合我需要的日志文件,并且相信我已经在代码中正确设置了 Logger 的实例。
我位于 src 文件夹中的配置文件。项目结构如下:
Project Root
- src
- UI
- Errors
- error classes go here
- Reports
- report classes go here
- Utilities
- utility classes go here
- CapitalReportsApplication - (This is the starting point of the application)
- resources
- log4j2.xml
log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Appenders>
<File name="MyFile" fileName="all.log" immediateFlush="false" append="false">
<PatternLayout pattern="%d{yyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</File>
</Appenders>
<Loggers>
<Root level="debug">
<AppenderRef ref="MyFile"/>
</Root>
</Loggers>
</Configuration>
类文件记录器初始化
private static Logger log = LogManager.getLogger(CapitalReportsApplication.class.getName());
log.info("This is a message");
从客户端应用程序运行插件时,我得到了所有预期的结果,但没有日志文件。
【问题讨论】: