一、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配置的更多相关文章

  1. Spring Boot干货系列:(七)默认日志框架配置

    Spring Boot干货系列:(七)默认日志框架配置 原创 2017-04-05 嘟嘟MD 嘟爷java超神学堂 前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候, ...

  2. Spring Boot系列一:默认日志logback配置解析

    前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的,你呢 如何引入日志? 日志输出格式以及输出方式如何配置? 代码中如何使用? 正文 Sp ...

  3. Spring Boot默认日志logback配置解析

    前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的,你呢 如何引入日志? 日志输出格式以及输出方式如何配置? 代码中如何使用? 正文 Sp ...

  4. (转)Spring Boot干货系列:(七)默认日志logback配置解析

    转:http://tengj.top/2017/04/05/springboot7/ 前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的, ...

  5. SpringBoot整合Logback日志框架配置全解析

    目录 本篇要点 一.Logback日志框架介绍 二.SpringBoot与Logback 1.默认日志格式 2.控制台输出 3.文件输出 4.日志级别 5.日志组 6.自定义log配置 三.logba ...

  6. Springboot入门-日志框架配置(转载)

    默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台. Logback是log4j框架的作者开发的新一代日志框架,它效率更高.能够适应诸多的运行环境,同时天然支 ...

  7. springboot通过slf4j配置日志

    原因:SpringBoot默认使用slf4j日志,引入其他框架的时候,只需要把这个框架依赖的日志框架排除掉: 而我今天想引入log4j的时候,pom文件一直报错,显示找不到log4j的jar包,应当是 ...

  8. slf4j/logback: logging日志的配置

    slf4j/logback: logging日志的配置 import依赖: import org.slf4j.Logger;import org.slf4j.LoggerFactory;private ...

  9. SpringBoot默认日志的使用方法及常用配置

    SpringBoot默认采用slf4j+logback 的组合形式,但也提供对JUL.log4j2.Logback提供了默认配置. 我们使用IDEA的spring初始化创建一个springboot项目 ...

随机推荐

  1. cf 1114E

    为什么这道题我到现在才写题解... 题解: 因为是随机题吗,,好像对于我来说还是很新颖的,就写一下. rand()的范围是到32768?这个以前踩过坑 #include <bits/stdc++ ...

  2. poj3723_Conscription

    Conscription Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 12393   Accepted: 4350 Des ...

  3. Educational Codeforces Round 4

    612A - The Text Splitting    20171121 简单字符串处理题 #include<stdlib.h> #include<stdio.h> #inc ...

  4. elk-filebeat-(效果图示)(四)

    一.vim filebeat-6.3.2-linux-x86_64/filebeat.yml - type: log # Change to true to enable this input con ...

  5. @staticmethod和classmethod

    之前一直搞不清楚这两个类方法有什么区别,今天着重学习了一下 @staticmethod是静态方法,不需要表示自身对象的self和自身类的cls参数,就跟使用函数一样. class C(object): ...

  6. 剑指offer——python【第43题】左旋转字符串

    题目描述 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果.对于一个给定的字符序列S,请你把其循环左移K位后的序列输出.例如,字符序列S=”abc ...

  7. Python学习之旅(二十二)

    Python基础知识(21):IO编程 一.文件读写 读写文件就是请求操作系统打开一个文件对象(文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象 ...

  8. ping不通,配置dns

    vim /etc/resolv.conf nameserver 119.29.29.29 nameserver 182.254.116.116 nameserver 8.8.8.8

  9. 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 ...

  10. POJ 2248 - Addition Chains - [迭代加深DFS]

    题目链接:http://bailian.openjudge.cn/practice/2248 题解: 迭代加深DFS. DFS思路:从目前 $x[1 \sim p]$ 中选取两个,作为一个新的值尝试放 ...