【2.0】使用默认日志slf4j配置
一、SpringBoot日志简介
SpringBoot使用Commons Logging进行所有内部日志记录,但底层日志实现保持开放状态。为Java Util Logging,Log4j2和Logback提供了默认配置。
SpringBoot能自动适配所有的日志,本次讲解slf4j+logback的方式记录日志,引入其他框架的时候,只需要把这个框架依赖的日志框架排除掉;
SpringBoot默认帮我们配置好了日志,我们直接即可。
下图是SpringBoot日志的依赖关系: 
二、SpringBoot使用slf4j日志
1.创建一个SpringBoot应用
只依赖Web即可
2.创建一个Controller类
下面代码详细书写了Logger的使用
 package com.zyl.springboot.controller;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    @RestController
    @RequestMapping("/log")
    public class LoggingController {
        Logger logger = LoggerFactory.getLogger(getClass());
        @GetMapping("/logging")
        public void logging(){
            // 级别由低到高 trace<debug<info<warn<error
            logger.trace("这是一个trace日志...");
            logger.debug("这是一个debug日志...");
            // SpringBoot默认是info级别,只会输出info及以上级别的日志
            logger.info("这是一个info日志...");
            logger.warn("这是一个warn日志...");
            logger.error("这是一个error日志...");
        }
    }
3.测试输出:默认info级别
从输出结果可以看出,SpringBoot默认输出info级别

三、配置文件
创建一个application.yml配置文件
1.调整级别
我们知道SpringBoot默认是info级别,下面配置将可以为我们调整级别,并且可为不同目录指定不同的级别
# slf4j日志配置
    logging:
      # 配置级别
      level:
        #分包配置级别,即不同的目录下可以使用不同的级别
        com.zyl.springboot: trace
测试输出,可以发现已经调整至trace级别了

2.输出日志文件
默认情况SpringBoot日志只输出至控制台,不写入日志文件。
通过配置file参数可以指定日志输出的文件名,默认输出至当前项目目录下
 # slf4j日志配置
    logging:
      # 配置级别
      level:
        #分包配置级别,即不同的目录下可以使用不同的级别
        com.zyl.springboot: trace
      # 指定输出日志的文件名,默认输出至当前项目目录下
      file: springboot.log
测试结果可以看出,已经在当前项目目录下输出了日志文件

输出到指定磁盘目录,注意,在改变输出日志的位置时,将原日志文件删除
将file配置输入完成日志文件名及路径,即可指定目录了
 # slf4j日志配置
    logging:
      # 配置级别
      level:
        #分包配置级别,即不同的目录下可以使用不同的级别
        com.zyl.springboot: trace
      # 在不指定路径,只指定输出日志的文件名,默认输出至当前项目下
      # 若指定,则会输出至指定目录下
      file: g:/springboot.log
【2.0】使用默认日志slf4j配置的更多相关文章
- Spring Boot干货系列:(七)默认日志框架配置
		
Spring Boot干货系列:(七)默认日志框架配置 原创 2017-04-05 嘟嘟MD 嘟爷java超神学堂 前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候, ...
 - Spring Boot系列一:默认日志logback配置解析
		
前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的,你呢 如何引入日志? 日志输出格式以及输出方式如何配置? 代码中如何使用? 正文 Sp ...
 - Spring Boot默认日志logback配置解析
		
前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的,你呢 如何引入日志? 日志输出格式以及输出方式如何配置? 代码中如何使用? 正文 Sp ...
 - (转)Spring Boot干货系列:(七)默认日志logback配置解析
		
转:http://tengj.top/2017/04/05/springboot7/ 前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的, ...
 - SpringBoot整合Logback日志框架配置全解析
		
目录 本篇要点 一.Logback日志框架介绍 二.SpringBoot与Logback 1.默认日志格式 2.控制台输出 3.文件输出 4.日志级别 5.日志组 6.自定义log配置 三.logba ...
 - Springboot入门-日志框架配置(转载)
		
默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台. Logback是log4j框架的作者开发的新一代日志框架,它效率更高.能够适应诸多的运行环境,同时天然支 ...
 - springboot通过slf4j配置日志
		
原因:SpringBoot默认使用slf4j日志,引入其他框架的时候,只需要把这个框架依赖的日志框架排除掉: 而我今天想引入log4j的时候,pom文件一直报错,显示找不到log4j的jar包,应当是 ...
 - slf4j/logback: logging日志的配置
		
slf4j/logback: logging日志的配置 import依赖: import org.slf4j.Logger;import org.slf4j.LoggerFactory;private ...
 - SpringBoot默认日志的使用方法及常用配置
		
SpringBoot默认采用slf4j+logback 的组合形式,但也提供对JUL.log4j2.Logback提供了默认配置. 我们使用IDEA的spring初始化创建一个springboot项目 ...
 
随机推荐
- cf 1114E
			
为什么这道题我到现在才写题解... 题解: 因为是随机题吗,,好像对于我来说还是很新颖的,就写一下. rand()的范围是到32768?这个以前踩过坑 #include <bits/stdc++ ...
 - poj3723_Conscription
			
Conscription Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 12393 Accepted: 4350 Des ...
 - Educational Codeforces Round 4
			
612A - The Text Splitting 20171121 简单字符串处理题 #include<stdlib.h> #include<stdio.h> #inc ...
 - elk-filebeat-(效果图示)(四)
			
一.vim filebeat-6.3.2-linux-x86_64/filebeat.yml - type: log # Change to true to enable this input con ...
 - @staticmethod和classmethod
			
之前一直搞不清楚这两个类方法有什么区别,今天着重学习了一下 @staticmethod是静态方法,不需要表示自身对象的self和自身类的cls参数,就跟使用函数一样. class C(object): ...
 - 剑指offer——python【第43题】左旋转字符串
			
题目描述 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果.对于一个给定的字符序列S,请你把其循环左移K位后的序列输出.例如,字符序列S=”abc ...
 - Python学习之旅(二十二)
			
Python基础知识(21):IO编程 一.文件读写 读写文件就是请求操作系统打开一个文件对象(文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象 ...
 - ping不通,配置dns
			
vim /etc/resolv.conf nameserver 119.29.29.29 nameserver 182.254.116.116 nameserver 8.8.8.8
 - Gym 102028C - Supreme Command - [思维题][2018-2019 ACM-ICPC Asia Jiaozuo Regional Contest Problem C]
			
题目链接:https://codeforces.com/gym/102028/problem/C Lewis likes playing chess. Now he has n rooks on th ...
 - POJ 2248 - Addition Chains - [迭代加深DFS]
			
题目链接:http://bailian.openjudge.cn/practice/2248 题解: 迭代加深DFS. DFS思路:从目前 $x[1 \sim p]$ 中选取两个,作为一个新的值尝试放 ...