springboot2.x实现日志按级别每天输出为日志文件

1、新建web工程,引入lombok包,(如果没有安装lombok插件,先安装插件)

2.在pom.xml文件中添加对lombok的支持


     org.projectlombok
     lombok
  

3.在resources文件夹新建application.yml文件,application.yml文件配置如下:

#debug: true
logging:
  level:
    #指定包,指定类,或者直接root
    #root: debug
    com.cobra.logdemo.controller: debug
  #日志输出配置二选一,只有两个都配置,只有一个生效,
  #区别是path默认生成的是spring.log文件,而path生成的是直接命名的文件,可以是相对路径也可以是绝对路径
  file: var/my.log
  #path: var/my.log
#  pattern:
    #控制台日志输出格式配置,仅对控制台有效
    #console: "%d -%msg%n"

4.在resources文件夹新建logback-spring.xml文件,logback-spring.xml配置如下:



    
    
        
            
                %d - %msg%n
            
        
    
    
    
        
            INFO
            ACCEPT
            DENY
        
        
            
                %d - %msg%n
            
        
        
        
            
            d:/logtest/info/info.%d.log
        
    
    
    
    
        
            WARN
            ACCEPT
            DENY
        
        
            
                %d - %msg%n
            
        
        
        
            
            d:/logtest/warn/warn.%d.log
        
    
    
    
    
        
            ERROR
        
        
            
                %d - %msg%n
            
        
        
        
            
            d:/logtest/error/error.%d.log
        
    
 
    
        
        
        
        
    
 

5.在需要日志的类加上注解@Slf4j,不需要在再添加private static Logger log=LoggerFactory.getLogger(UserController.class);之类的代码了。然后在需要打印地方加上代码,log.info("需要打印的内容"),在需要记录异常的地方使用log.error(e.getMessage(),e);这样项目运行的时候,就会把info级别的日志写入的info.log文件中,把error级别的日志写入到error.log文件中,参照下面的例子:

@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
public class ParamsTest {
    @Autowired
    private GlucoseService gluSerivce;
 
	@Test
	public void test() {
		fail("Not yet implemented");
	}
    
    @Test
    public void saveTest() {
    	Glucose glucose=new Glucose("758", "3.58", "2019-08-09 11:28:20", "1", "0");
    	try {
			int i=gluSerivce.addGlu(glucose);
			if (i>0) {
				log.info("上传血糖数据成功!");
			}
		} catch (Exception e) {
			log.error(e.getMessage(),e);
		}
    }
}

启动测试以后,在指定的目录分别生成了info、error和warn文件夹,如下图:

springboot2.x实现日志按级别每天输出为日志文件_第1张图片

打开info文件夹,看到生成了info.2019-08-09文件,文件内容如下:

springboot2.x实现日志按级别每天输出为日志文件_第2张图片

打开error文件夹,生成了error.2019-08-09文件,文件内容如下:

备注:上传成功以后,为了测试的需要,特意去修改了代码,让其产生异常。

至此,SpringBoot按级别每天单独生成日志文件配置成功。

感谢https://blog.csdn.net/weixin_37138899/article/details/88841693的帮助! 

你可能感兴趣的:(springboot)