gpt4 book ai didi

logging - 如何让 Spring Boot 使用 log4j.xml 配置文件?

转载 作者:行者123 更新时间:2023-12-04 11:06:36 56 4
gpt4 key购买 nike

我有一个构建到 jar 文件的简单 Spring Boot 应用程序。我在 src/main/resources/log4j.xml 中有一个 log4j.xml 文件,看起来像这样(来自 log4j 文档的基本示例文件):

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<!-- Pattern to output the caller's file name and line number -->
<param name="ConversionPattern" value="%5p [%t] (%F:%L) - %m%n"/>
</layout>
</appender>
<appender name="R" class="org.apache.log4j.RollingFileAppender">
<param name="file" value="/tmp/logs/sample.log"/>
<param name="MaxFileSize" value="100KB"/>
<!-- Keep one backup file -->
<param name="MaxBackupIndex" value="1"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%p %t %c - %m%n"/>
</layout>
</appender>
<root>
<priority value="debug"/>
<appender-ref ref="stdout"/>
<appender-ref ref="R"/>
</root>
</log4j:configuration>

日志只进入控制台(/tmp/logs/sample.log 永远不会被创建),因为它 log4j.xml 文件被忽略了。

该文件显示在 jar 的根目录中,我认为这是正确的。我还需要做什么才能获取此日志记录配置?

如果有任何区别,则该项目使用的是 Gradle,而不是 Maven。

最佳答案

这取决于您如何设置类路径。 log4j 是否绑定(bind)到您的类路径上的 slf4j(如果您只使用 vanilla spring-boot-starter 则不会)?这是一个 spring-boot-starter-log4j 和一个 sample展示如何使用它(在 Maven 中,但 Gradle 具有相同的功能)。

如果我是你,我只会使用 logback。

注: Spring Boot 1.4 不支持 log4j(仅 log4j2)。不过,在同一个地方有一个样本。

关于logging - 如何让 Spring Boot 使用 log4j.xml 配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23296477/

56 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com