Logback 日志文件为空
Logback log file empty
我需要更改什么才能使用 Logback 将日志写入日志文件?
dependencies {
implementation 'ch.qos.logback:logback-classic:1.2.3',
'ch.qos.logback:logback-core:1.2.3'
api 'org.slf4j:slf4j-api:1.7.30'
}
<configuration debug="true">
<appender name="FILE" class ="ch.qos.logback.core.FileAppender">
<file>logs\logfile.log</file>
<append>true</append>
<immediateFlush>false</immediateFlush>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<appender name="STDOUT"
class="ch.qos.logback.core.ConsoleAppender">
<Target>System.out</Target>
<encoder>
<pattern> .....</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="FILE"/>
<appender-ref ref="STDOUT"/>
</root>
</configuration>
在Java Class:
private static final Logger log = LoggerFactory.getLogger(MyClass.class);
public static void main(String[] args){
log.debug("hello");
}
文件 logfile.log
在 logs 文件夹下创建,但它是空的,控制台确实显示日志。
可能您错过了 logback-core 依赖项。
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.10</version>
</dependency>
或
dependencies {
...
implementation 'ch.qos.logback:logback-core:1.2.10'
...
}
除了你已经拥有的另外两个。
其他要做的就是更新每个依赖的最新版本,看看问题是否仍然存在。
参考:https://sematext.com/blog/logback-tutorial/ or https://www.baeldung.com/logback
缺少 logback-core 的添加依赖项,而且 immediateFlush 应该为 true 或简单地被删除。
我需要更改什么才能使用 Logback 将日志写入日志文件?
dependencies {
implementation 'ch.qos.logback:logback-classic:1.2.3',
'ch.qos.logback:logback-core:1.2.3'
api 'org.slf4j:slf4j-api:1.7.30'
}
<configuration debug="true">
<appender name="FILE" class ="ch.qos.logback.core.FileAppender">
<file>logs\logfile.log</file>
<append>true</append>
<immediateFlush>false</immediateFlush>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<appender name="STDOUT"
class="ch.qos.logback.core.ConsoleAppender">
<Target>System.out</Target>
<encoder>
<pattern> .....</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="FILE"/>
<appender-ref ref="STDOUT"/>
</root>
</configuration>
在Java Class:
private static final Logger log = LoggerFactory.getLogger(MyClass.class);
public static void main(String[] args){
log.debug("hello");
}
文件 logfile.log
在 logs 文件夹下创建,但它是空的,控制台确实显示日志。
可能您错过了 logback-core 依赖项。
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.10</version>
</dependency>
或
dependencies {
...
implementation 'ch.qos.logback:logback-core:1.2.10'
...
}
除了你已经拥有的另外两个。
其他要做的就是更新每个依赖的最新版本,看看问题是否仍然存在。
参考:https://sematext.com/blog/logback-tutorial/ or https://www.baeldung.com/logback
缺少 logback-core 的添加依赖项,而且 immediateFlush 应该为 true 或简单地被删除。