这可能是由于以下两个原因之一:
1)Maven配置不完整
为了使用 tinylog 而不是 Spring Boot 的默认日志后端 Logback,您必须排除 Spring Boot 的日志依赖项并将其替换为相应的 tinylog 工件:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
</exclusion>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.tinylog</groupId>
<artifactId>tinylog-api</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.tinylog</groupId>
<artifactId>tinylog-impl</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.tinylog</groupId>
<artifactId>slf4j-tinylog</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.tinylog</groupId>
<artifactId>jcl-tinylog</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.tinylog</groupId>
<artifactId>log4j1.2-api</artifactId>
<version>2.2.1</version>
</dependency>
</dependencies>
(从https://github.com/pmwmedia/tinylog-spring-boot-example/blob/v2/pom.xml复制)
2) 异常不是通过记录器输出
您是否检查过异常是通过记录器(例如Logger.error(ex)
)记录的,而不是直接打印ex.printStackTrace()
到控制台的?tinylog(和任何其他日志框架)只能将日志条目写入文件,前提是这些日志条目是通过日志 API 发出的。
如果这两个建议都不能解决问题,那么了解使用哪个日志记录 API 来记录丢失的异常会很有帮助。