版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_39036844/article/details/82711142
我使用的日志框架是logback。我们的目的是把INFO日志和ERROR分开到不同的文件中,并且能够每日形成一个日志文件。
第一步,使用idea创建一个Spring-Boot的项目
一直默认,有关SpringBoot基础创建都不清楚的话,可以先去看看入门教程,到这步的时候选择web就行。
创建成功
第一步,在resources下面新建一个xml文件,文件名是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>
/Users/Cdy1234/Desktop/project/info.%d.log
</fileNamePattern>
</rollingPolicy>
</appender>
<!--每天生成一个日志文件-->
<appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--根据范围来过滤-->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<encoder>
<pattern>
%msg%n
</pattern>
</encoder>
<!--每日循环策略,每天一个日志文件-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--路径-->
<fileNamePattern>
/Users/Cdy1234/Desktop/project/error.%d.log
</fileNamePattern>
</rollingPolicy>
</appender>
<root level="info">
<appender-ref ref="consoleLog"/>
<appender-ref ref="fileInfoLog"/>
<appender-ref ref="fileErrorLog"/>
</root>
</configuration>
生成效果文件如下
想要测试的同学可以自己写一下测试文件。
在test文件中增加一个测试类。这里用到了@Slf4j,不懂的可以直接百度一下,我这里就不多解释。
package com.chuzhong;
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;
/**
* Created by Cdy1234 on 2018/9/13.
*/
@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
public class LoggerTest {
// private final Logger logger= LoggerFactory.getLogger(LoggerTest.class);
@Test
public void test1(){
// logger.debug("debug...");
// logger.info("info...");
// logger.error("error");
String name="imooc";
String password="12344";
log.debug("debug...");
log.info("name={},password={}",name,password);
log.error("error..");
}
}