1

我在创建日志文件时遇到了一些麻烦。从 IntelliJ 运行代码时没有问题。在这种情况下,几秒钟后出现日志文件,并在代码执行期间更新。

但是当我创建 jar 文件并运行它时,我在硬盘驱动器中看不到甚至找不到任何创建的日志......

这是我的 logback.xml:

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

<timestamp key="bySecond" datePattern="yyyyMMdd'T'HHmmss"/>


<appender name="STDERR" class="ch.qos.logback.core.ConsoleAppender">
    <target>System.err</target>
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
        <level>WARN</level>
    </filter>
    <encoder>
        <pattern>%date %level [%thread] %logger %msg%n</pattern>
    </encoder>
</appender>

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <target>System.out</target>
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>DEBUG</level>
        <onMatch>ACCEPT</onMatch>
    </filter>
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>INFO</level>
        <onMatch>ACCEPT</onMatch>
    </filter>
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>TRACE</level>
        <onMatch>ACCEPT</onMatch>
    </filter>
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>WARN</level>
        <onMatch>DENY</onMatch>
    </filter>
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>ERROR</level>
        <onMatch>DENY</onMatch>
    </filter>
    <encoder>
        <pattern>%date %level [%thread] %logger %msg%n</pattern>
    </encoder>
</appender>

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <FileNamePattern>logs/log_engine.%d{yyyy-MM-dd}.log</FileNamePattern>
    </rollingPolicy>
    <append>true</append>
    <encoder>
        <pattern>%d{yyyy-MM-dd HH:mm:ss} | %-5p | [%thread] %logger{5}:%msg%n</pattern>
    </encoder>
</appender>


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

</root>

4

0 回答 0