gpt4 book ai didi

java - 禁用创建 logback 日志文件

转载 作者:行者123 更新时间:2023-11-30 06:02:01 29 4
gpt4 key购买 nike

是否可以禁止创建 logback 日志文件?

当我将 root 级别或 logger 元素设置为 OFF 时,它不会记录日志,但仍会创建appender 中指定的文件。

是否有选项可以禁止创建此文件? (除了删除配置xml文件)

即使没有记录器(或根)链接到附加程序,仍然会创建来自附加程序的日志文件。

谢谢。

================================================== ===========================编辑。我附上我的配置:

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

<configuration debug="false">

<variable name="LOG_LEVEL" value="${mylevel:-TRACE}" />

<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${clogdir}/mylog.log</file>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d %p %t %c - %m%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${clogdir}/mylog.log.%d{yyyy-MM-dd}</fileNamePattern>
</rollingPolicy>
</appender>

<root level="${LOG_LEVEL}">
<appender-ref ref="FILE" />
</root>

<appender name="log2" class="ch.qos.logback.core.FileAppender">
<file>${clogdir}/log2.log</file>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d %p %t %c - %m%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${clogdir}/log2.log.%d{yyyy-MM-dd}</fileNamePattern>
</rollingPolicy>
</appender>

<logger name="log2" level="TRACE">
<appender-ref ref="log2" />
</logger>

</configuration>

最佳答案

只要在配置中声明了文件附加程序,Logback 就会创建附加程序类的实例并对其调用 start() 。您可以在 AppenderAction.end() 中看到这一点。在 FileAppender 上调用 start() 将导致创建追加器的配置文件,您可以在 FileAppender.start() 中看到此行为.

因此,为了完全禁用文件输出附加程序,您必须确保它未在您的 Logback 配置中声明。

也许您正在寻找某种方法将文件输出附加程序标记为无操作,即不向其发送任何事件不创建文件。使用 Logback 当前的 FileAppender 实现(和子类),无法将附加程序标记为完全无操作。要实现此功能,您需要提供您自己的 FileAppender 子类并重写 start()

关于java - 禁用创建 logback 日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52059706/

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