SpringBoot Logback根据日志级别分离日志
2017-12-21 15:11
447 查看
项目结构图如下
项目搭建
1、在Idea中点击File->
New->
Project->
Spring Initializr,如下图
2、填写项目信息
修改pom.xml
文件
添加junit测试依赖<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency>
添加lombok依赖,可以通过
@Slf4j注解方便指向输出日志的当前类
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>
新增LoggerTest.java
类
import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest @Slf4j public class LoggerTest { //private final Logger logger = LoggerFactory.getLogger(LoggerTest.class); @Test public void test1(){ String name = "lzz"; String password = "123456"; log.debug("debug..."); log.info("name:"+name+" password:"+password); log.info("name:{},password:{}",name,password); log.error("error..."); log.warn("warn...."); } }
通过
@Slf4j注解,替换了
private final Logger logger = LoggerFactory.getLogger(LoggerTest.class),指向了当前的类,我们可以直接通过
log.输出日志。
新增logback-spring.xml
文件
<?xml version="1.0" encoding="UTF-8" ?> <configuration> <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern> %d - %msg%n </pattern> </layout> </appender> <!--根据日志级别分离日志,分别输出到不同的文件--> <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>DENY</onMatch> <onMismatch>ACCEPT</onMismatch> </filter> <encoder> <pattern> %msg%n </pattern> </encoder> <!--滚动策略--> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--路径--> <fileNamePattern>logback.info.%d{yyyy-MM-dd}.log</fileNamePattern> </rollingPolicy> </appender> <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level< a31b /span>>ERROR</level> </filter> <encoder> <pattern> %msg%n </pattern> </encoder> <!--滚动策略--> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--路径--> <fileNamePattern>logback.error.%d{yyyy-MM-dd}.log</fileNamePattern> </rollingPolicy> </appender> <root level="info"> <appender-ref ref="consoleLog" /> <appender-ref ref="fileInfoLog" /> <appender-ref ref="fileErrorLog" /> </root> </configuration>
通过引用fileInfoLog和fileErrorLog实现对日志的隔离输出,并在项目的根路径下输出对应的日志文件。
文件输出展示
logback.error.2017-12-21.log展示如下
logback.info.2017-12-21.log展示如下
日志输出级别
根据Level的级别,优先级大的优先输出,所以日志输出的顺序是ERROR>WARN>INFO>DEBUG>TRACE。
相关文章推荐
- spring boot +logback实现error级别日志报警
- spring boot + spring cloud日志级别的配置logback.xml
- SpringBoot 使用logback日志分级别生成文件
- Logback、Log4J及slf4J日志框架分析对比及在Spring Boot中的使用
- Spring Boot 1.5.x新特性:动态修改日志级别
- 【spring boot logback】spring boot中logback日志乱码问题
- 使用sfl4j和logback在spring boot中进行日志配置
- 关于springboot的默认日志配置文件logback.xml
- Spring Boot干货系列:(七)默认日志logback配置解析
- 详解Spring Boot配置使用Logback进行日志记录的实战
- 54. spring boot日志升级篇—logback【从零开始学Spring Boot】
- spring boot 日志 logback 的配置
- springboot 配置logback控制台彩色打印,按等级输出日志文件
- springboot logback日志
- Spring Boot 日志配置(LogBack,LockBack异步日志)
- Springboot+logback集成ELK处理日志实例
- spring boot 日志配置 logback-spring.xml
- SpringBoot学习6之Logback日志导入mongodb
- spring-boot结合logback日志框架
- 在SpringBoot中添加Logback日志处理