gpt4 book ai didi

java - Logback RollingFileAppender 没有写入正确的文件

转载 作者:行者123 更新时间:2023-11-28 23:05:49 25 4
gpt4 key购买 nike

我正在尝试使用我的 Web 应用程序设置 Logback。我的 logback.xml 文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>

<configuration scan="true" scanPeriod="60 seconds">
<appender name="tests_file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>tests.log</file>
<append>true</append>

<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>tests.%i.log.zip</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>10</maxIndex>
</rollingPolicy>

<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>100MB</maxFileSize>
</triggeringPolicy>

<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>

<appender name="application_file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>application.log</file>
<append>true</append>

<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>application.%i.log.zip</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>10</maxIndex>
</rollingPolicy>

<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>100MB</maxFileSize>
</triggeringPolicy>

<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>

<logger name="tests" level="DEBUG">
<appender-ref ref="tests_file" />
</logger>

<logger name="application" level="INFO">
<appender-ref ref="application_file" />
</logger>

</configuration>

这个文件放在WEB-INF/classes.

我有一个带有以下构造函数的 servlet:

public class FrontController extends HttpServlet {

private Logger logger;

public FrontController() {
// Initialise the logger
logger = (Logger)LoggerFactory.getLogger("application");
logger.info("Starting application");
}
}

当我在 Tomcat 中启动 servlet 时,没有任何内容写入我在 logback.xml 中声明的 application.log 文件。是 LoggerFactory 没有找到 xml 文件还是我的 xml 文件有误?

谢谢

最佳答案

好吧,当它打开时,相对路径是错误的。因此,我没有在文件条目中使用简单的文件名,而是使用了以下行:

<file>${user.dir}/logs/application.log</file>

现在 servlet 日志记录写入我的 eclipse 安装文件夹 ../logs/application.log 下。一切顺利。

关于java - Logback RollingFileAppender 没有写入正确的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9657188/

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