一、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. 最小生成树 prime+heap

    改一个错误真不容易,刚开始没有加上used数组,没有判断每个顶点是否已经加入到数组当中,结果同一个顶点被pop不止一次. struct edge{int to,cost;}; typedef pair ...

  2. 防止vue文件中的样式出现‘污染’情况(html5 scoped特性)

    近期在项目中出现了vue样式污染的情况: 一个页面刚进去时样式不正常,刷新之后,样式才才达到预期那样 在vue中,如果把样式写在vue文件的 style中,可能会出现样式污染的情况,这是要把写样式的标 ...

  3. ajax里post 设置请求头的编码格式

    我们常用的ajax形式就是post和get.post需要设置请求头,那么问题来了: 首先,为什么get不需要设置编码格式? 其次:不设置post请求头编码格式可以吗? 还有:常用的请求头编码格式有哪些 ...

  4. @staticmethod和classmethod

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

  5. PHP(方法 函数 循环 和 数组 查找)

    循环 和 数组 查找 顺序查找 二分法查找 冒泡排序 方法 函数 定义:一堆代码的集合叫做函数(满足条件下“一堆”) 语法,定义,调用,参数列表(形参,实参),返回值 两种方法: function 方 ...

  6. day16 十六、包、循环导入、导入模块

    一.包的概念 包:一系列模块的集合体.包通过文件夹管理一系列功能相近的模块 重点:包中一定有一个专门用来管理包中所有模块的文件 包名:存放一系列模块的文件夹的名字 包名(对象)存放的是管理模块的那个文 ...

  7. 单片机小白应该如何学习stm32的一些实践心得!

    嵌入式搬砖道路上的大三狗一枚,撑死算个初学者吧.才学有限,下面仅仅是本人对STM32学习的一点心得与建议,希望对题主有帮助吧. 心得:本人当初学习STM32的时候有一些跟风的因素,自以为学的芯片越多就 ...

  8. 实时分析(在线查询),firehose---clickhouse

    firehose---clickhouse 在Hive中适不适合像传统数据仓库一样利用维度建模hive新功能 Cube, Rollup介绍https://blog.csdn.net/moon_yang ...

  9. weui开发笔记

    1.标准的weui只是一个css皮肤,当然里面有h5特性所以有一些很好的组件,比如时间选择控件.数字输入框(用于手机号等),在ios——微信中可以做到完美的展示. 2.ui框架以手机移动端为优先显示( ...

  10. SQL[Err]ORA-00932: inconsistent datatypes: expected NUMBER got CHAR:

    ORA-00932: inconsistent datatypes: expected NUMBER got CHAR: 获取的目标类型与源类型不一致,多出现在case when 语句中,when的结 ...