一、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. ArcGIS AddIn 图斑比例分割工具,调用捕捉功能

    最近做一个图斑按比例分割的工具,需要绘制一条用以切割的方向线,通过Tool的方式实现 绘制时希望能够使用捕捉功能,查阅相关资料如下: 使用该文章,第Implementing snapping in a ...

  2. juqery 点击张三触发李四的方法 trigger(); 和 被选元素前插入指定的内容的方法 brfore();

    $('.zc_fabu_img_1').on('click',function(){ $("#upImg img").trigger("click"); }) ...

  3. maven学习之pom.xml或settings.xml对nexus的配置(转)

    (1)在POM中配置Nexus仓库 <project>         ...         <repositories>            <repository ...

  4. 【Linux内存源码分析】vmalloc不连续内存管理(转)

    https://www.jeanleo.com/2018/09/09/%E3%80%90linux%E5%86%85%E5%AD%98%E6%BA%90%E7%A0%81%E5%88%86%E6%9E ...

  5. Python_环境部署及报错汇总(0)

    一.安装Anaconda Anaconda是一个开源的包.环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换. Anaconda包括Conda.Python以及 ...

  6. 使用pm2在同服务器配置开发、生产、测试等环境

    export NODE_ENV=production 只能适用于node xxx.js的前台运行 set NODE_ENV=production貌似无效 pm2 做法: 创建pm2.config.js ...

  7. jupyter notebook安装/代码补全/支持golang 踩坑记

    安装(不要用root) 安装anaconda3,然后ln -s bin目录下的jupyter命令到/usr/bin目录下 生成密码备用 敲ipython进入交互终端 In [1]: from note ...

  8. 基于UVM的verilog验证

    Abstract 本文介绍UVM框架,并以crc7为例进行UVM的验证,最后指出常见的UVM验证开发有哪些坑,以及怎么避免. Introduction 本例使用环境:ModelSim 10.2c,UV ...

  9. python基础(14)-反射&类的内置函数

    反射 几个反射相关的函数可参考python基础(10)-匿名函数&内置函数中2.2.4反射相关 类的一些内置函数 __str__()&__repr__() 重写__str__()函数类 ...

  10. MySQL行转列与列转行

    行转列 例如:把图1转换成图2结果展示 图1 图2 CREATE TABLE `TEST_TB_GRADE` ( `ID` ) NOT NULL AUTO_INCREMENT, `) DEFAULT ...