Log4j2 不会在 Spring 启动中登录文件



我使用的是Spring引导和Gradle构建工具。我想添加一个记录我的事件的记录器。我选择了Log4j2。首先,我添加了这些依赖项:

implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.14.1'
implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.14.1'

然后将这个配置文件添加到我的资源文件夹中

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" monitorInterval="30">
<Properties>
<Property name="LOG_PATTERN">
%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${hostName} --- [%15.15t] %-40.40c{1.} : %m%n%ex
</Property>
</Properties>
<Appenders>
<Console name="ConsoleAppender" target="SYSTEM_OUT" follow="true">
<PatternLayout pattern="${LOG_PATTERN}"/>
</Console>
</Appenders>
<RollingFile name="FileAppender" fileName="logs/log4j2-demo.log"
filePattern="log4j2-demo-%d{yyyy-MM-dd}-%i.log">
<PatternLayout>
<Pattern>${LOG_PATTERN}</Pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="10MB" />
</Policies>
<DefaultRolloverStrategy max="10"/>
</RollingFile>
<Loggers>
<Root level="info">
<AppenderRef ref="ConsoleAppender" />
<AppenderRef ref="FileAppender" />
</Root>
</Loggers>
</Configuration>

然后我通过以下命令使用它:

private static final Logger logger = LogManager.getLogger(Application.class);
logger.error("Hello from Log4j 2");

我怀疑Spring是否使用了配置文件。因为它不会创建log文件夹和log4j2 demo.log文件。问题出在哪里?

使用LoggerFactory

private static final Logger LGR = LoggerFactory.getLogger(ObjectsController.class);

最新更新