gpt4 book ai didi

java - Logback-Slf4j 从 IDe 运行时将日志消息写入文件,但不是作为 jar

转载 作者:行者123 更新时间:2023-11-30 07:23:41 26 4
gpt4 key购买 nike

我正在使用 SLF4j 和 logback 来记录消息。它工作正常并写入配置文件。但是当我构建一个可执行 jar 并尝试从提示符下作为 java -jarexecutableFile 运行时。它既不写入配置文件,也在控制台上显示大量调试消息。

这是我的 logback.xml:

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>

<!-- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date{ISO8601} %-5level %logger{36} %X{sourceThread} - %msg%n</pattern>
</encoder>
</appender>-->


<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/var/log/LogWriter/log-test.log </file>

<append>true</append>

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

<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>10MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%date{ISO8601} %-5level %logger{36} %X{sourceThread} - %msg%n</pattern>
</encoder>
</appender>


<root level="INFO">
<appender-ref ref="FILE" />
<appender-ref ref="STDOUT" />


</root>

enter image description here

最佳答案

原因是您的主类没有找到 logback.xml,因此 logback 使用默认的附加程序 - 在本例中为控制台。您需要确保打包 jar 时,logback.xml 位于正确的位置。

关于java - Logback-Slf4j 从 IDe 运行时将日志消息写入文件,但不是作为 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37125026/

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