spring boot中配置日志归档的模板 作者: zorth 时间: 2024-11-26 分类: 默认分类 ![](https://zorth-1305096201.cos.ap-guangzhou.myqcloud.com/undefined20241126143027.png) SLF4J (Simple Logging Facade for Java) 实际上是一个日志门面框架,它本身并不提供日志实现,而是需要与具体的日志实现框架配合使用。Logback 就是 SLF4J 的一个原生实现。 1. **SLF4J + Logback 的关系**: - SLF4J 是接口(门面模式) - Logback 是实现 - Logback 的作者就是 SLF4J 的作者,所以它们是完全兼容的 1. **使用方式**: 需要添加以下依赖: ```xml org.slf4j slf4j-api 1.7.36 ch.qos.logback logback-classic 1.2.11 ``` 1. **代码中的使用**: ```java import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class YourClass { private static final Logger logger = LoggerFactory.getLogger(YourClass.class); public void someMethod() { logger.info("This is an info message"); logger.error("This is an error message"); } } ``` 1. **配置文件**: 完全可以使用之前提到的 logback.xml 配置文件来进行日志归档配置。实际上,使用 SLF4J + Logback 的组合时,Logback 会按以下顺序查找配置文件: 2. logback-test.xml 3. logback.xml 4. 如果都没找到,使用默认配置 ```xml %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n ${log.path}/app.log ${log.path}/app.%d{yyyy-MM-dd}.log 30 3GB %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n ``` 1. **注意事项**: - 确保没有引入其他日志实现框架的依赖,避免冲突 - 如果项目中有其他依赖间接引入了其他日志框架,需要排除它们: ```xml some.group some-artifact 1.0.0 commons-logging commons-logging ``` --- # 自用的`logback`的配置 1. 按天归档 2. 归档文件自动压缩为 .gz 格式 3. ERROR 级别日志单独存放 4. 普通日志和错误日志都按天归档并压缩 ```xml %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n UTF-8 ${log.path}/${app.name}.log ${log.path}/${app.name}.%d{yyyy-MM-dd}.log.gz 30 2GB %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n UTF-8 ERROR DENY ACCEPT ${log.path}/${app.name}-error.log ${log.path}/${app.name}-error.%d{yyyy-MM-dd}.log.gz 30 1GB %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n UTF-8 ERROR ACCEPT DENY 0 512 0 512 ``` 标签: none