SpringBoot2.0日志配置实例_码农StayUp的博客-程序员宅基地

技术标签: spring  spring boot  java  日志  

文章来源:https://blog.csdn.net/gozhuyinglong
版权声明:本文版权归作者所有,转载请注明出处

##一、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
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/gozhuyinglong/article/details/80523756

智能推荐

hadoop权威指南 阅读笔记(二)_yaoxiao_happy2的博客-程序员宅基地

第三章分布系统:一、数据流系统:1.读入数据:从HDFS客户端到namenode中拿到地址,再去datanode中依次读取。 写文件:写文件的过程相对复杂一点:为了保证读写一致从namenode中开辟地址以后FSDataOutputStram会开启一个管道,管道中待写入datanode的数量和配置的备份数量是一样的,默认的是三个。依次写入后会返回namenode告知写入成功

ASP.Net MVC Filter验证用户登录_起名不费劲的博客-程序员宅基地

ASP.NetMVC模式自带的过滤器Filter,是一种声明式编程方式,支持四种过滤器类型。 实现每个页面都验证cookie中是否存有用户信息,过期用户信息就失效,跳转登录页面。整体思路是这样的:先在登录Controller中把页面传来的User信息保存到cookie中,设置cookie失效时间。每个Controller中的方法执行都会先执行Filter,查看cookie中是否存有用户信息。

c++ 字符串分割函数stringsplit_c++ string split_sdragonx的博客-程序员宅基地

新版: /* stringsplit.hpp sdragonx 2006-06-16 00:43:16 revise 2018/7/28 19:42 function list: size_t stringsplit(container, const char_type*, size_t, char_type, bool) size_t stringsplit(conta..._c++ string split

C++ string类_0penuel0的博客-程序员宅基地

1.初始化string s1; //默认初始化,空字符串string s2 = "hello"; // 拷贝初始化string s3("hello"); //直接初始化string s4(10,'c'); //直接初始化 10个c2.string的一些操作empty:返回一个布尔值来判断是否非空size:返回对象的长度,无符号整形关系运算:== > < &g..._c+ string类

基于稀疏矩阵的k近邻(KNN)实现_k近邻图是稀疏的吗_zouxy09的博客-程序员宅基地

基于稀疏矩阵的k近邻(KNN)实现[email protected]://blog.csdn.net/zouxy09 元旦了!要跨入2015了!呵呵,忙了挺久,没有更新博客了,博客也悄悄地蒙上了一层灰。在跨年之际,闲来无事,也总结下之前的一些散乱的东西,记录在博客中,恢复点生气。良久未笔,辞藻异常生疏。嗯,祝大家2015再谱人生华丽篇章! 一、概述 这里我们先来看看当我_k近邻图是稀疏的吗

轻量级IOC/DI 容量HK2初探(零配置)_chouyanzha3932的博客-程序员宅基地

背景知识: SUN公司提出了一个类似于OSGi的模块化系统规范称之为“HK2”。HK2的全称为“Hundred Kilobytes Kernel”,包括Modules Subsytem和Component Model两部分。据称,该内核将在JDK 7中集成,同时,SUN..._hk2框架

随便推点

uniapp 过滤html标签_uniapp 忽略html元素_码农遇见菜鸟的博客-程序员宅基地

uniapp 过滤html标签var msg = (res.data.msg).replace(/<\/?[^>]*>/g, ''); //去除HTML Tagmsg = msg.replace(/[|]*\n/, ''); //去除行尾空格this.content= msg.replace(/&nbsp;/gi, ''); //去掉nbsp_uniapp 忽略html元素

Laravel MongoDB_牛奔的博客-程序员宅基地

Laravel MongoDBThis package adds functionalities to the Eloquent model and Query builder for MongoDB, using the original Laravel API. This library extends the original Laravel classes, so it uses e...

Windows8 Metro快捷键大全_xpxtnet的博客-程序员宅基地

导读:习惯用快捷键能大大的提高效率是大家都知道的事实,随着微软每次发布操作系统都会根据新功能增加一些快捷键。这里重点介绍 Windows 8 Metro 界面操作的快捷键,之前发布过《Windows8哪里关机?》,其实按Win+I就能弹出 Settings界面 里面就有关机按钮。所以你一定要记住Windows8 Metro快捷键,能让你节省很多的时间。  windows8 Metro快

嵌套关系的DIV布局margin塌陷及解决_鹿目达也的博客-程序员宅基地

&lt;!DOCTYPE html&gt;&lt;html lang="en"&gt;&lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Document&lt;/title&gt; &lt;style&gt; #div01{ width: 300px; height: 30

推荐文章

热门文章

相关标签