第五章 ,springboot 日志框架

第五章 ,springboot 日志框架第五章 ,springboot 日志框架

大家好,又见面了,我是你们的朋友全栈君。

一,选用SLF4j和logback

(注:spring框架默认使用的事JCL日志框架)

二,使用

1,如何在系统中使用slf4j(不同于log4j)

以后开发的时候,日志记录方法的调用,不应该直接调用日志的实现层,而是调用日志的抽象层里面的方法(也就是先biz层再dao层)

打开slf4j的首页,找到用户手册链接:

第五章 ,springboot 日志框架

有个案例,长下面这个样子:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class HelloWorld {
  public static void main(String[] args) {
    Logger logger = LoggerFactory.getLogger(HelloWorld.class);
    logger.info("Hello World");
  }
}

slf4j是属于抽象层,logback是实现层。


二,这里我们新建个spring initializr 工程。

然后打开pom.xml 

对下图位置右键:

第五章 ,springboot 日志框架

选择–》Diagrams–》show Dependencies 会显示各jar包的依赖关系(alt可放大看)

其中可以看到springboot使用的日志系统:

第五章 ,springboot 日志框架

所以

1,springboot底层也是使用slf4j+logback的方式进行日志记录

2,springboot也把其他的日志都替换成了slf4j

3,如果要引入其他框架,一定要把这个框架的默认的日志依赖移除掉

 


三,日志种类和日志等级

1, 

package com.liuxin.springboot;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
public class Springboot03LoggingApplicationTests {
    Logger logger = LoggerFactory.getLogger(getClass());

    //日志级别又低到高:trace<debug<info<warn<error
    @Test
    public void contextLoads() {
        logger.trace("trace日志");
        logger.debug("debug日志");
        logger.info("info日志");
        logger.warn("warn日志");
        logger.error("error日志");
    }

}

springboot默认使用的是info级别的,也就是上面案例只会输出后面三行

2,如在配置文件中设置日志级别,就用设定的,没有设定就用默认的,如下:

第五章 ,springboot 日志框架

这样再次运行就能打印所有日志了。

3,指定日志输出的文件

第五章 ,springboot 日志框架

这样就能在当前项目下创建一个springboot.log文件。

4,在日志中的输出格式:

logging.level.com.liuxin=trace

#指定日志的输出目录,默认根目录
#logging.file=springboot.log
#指定本地盘
#logging.file=F:/springboot.log

#在当前磁盘的跟目录下创建spring文件夹和里面的log文件,使用spring.log作为默认,如果这个项目在c盘,那么这个就会出现C:/srping/log
logging.path=/spring/log 
#指定控制台输出的格式     下面等号右边的含义以此是 %d:日期  %thread:线程号   %-5level:日志级别从左显示5个字符  
# %logger{50}:logger名字最长50个字符,否则安装句号分割   %msg:消息信息 %n:换行符
logging.pattern.console=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n

#指定文件中日志输出的格式
logging.pattern.file=%d{yyyy-MM-dd} === [%thread] === %-5level %logger{50} === %msg%n

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105996.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux查看文件内容的5种方式

    Linux查看文件内容的5种方式Linux查看文件内容的5种方式

    2022年6月29日
    34
  • 福利吧简约朴素网站地址发布页源码

    福利吧简约朴素网站地址发布页源码介绍:大方简约的地址发布页面HTML源码,可用于发布网站最新地址,留住用户必备方便找到回家的路,就单单一个html页面,需要的朋友下载吧!网盘下载地址:https://zijiewangpan.com/Lgv39T6zCtT图片:…

    2022年5月26日
    66
  • 获取图像的宽度、高度

    获取图像的宽度、高度

    2021年9月4日
    62
  • 常用的搜索引擎有哪些(公认最好的3种搜索引擎)「建议收藏」

    常用的搜索引擎有哪些(公认最好的3种搜索引擎)「建议收藏」搜索引擎无论工作还是生活都无法避免,哪个引擎更适合使用?接下来用最为常用的baidu,bing,google做个简单对比。首先用baidu以现在最火的‘深度学习’为关键字进行搜索。我的2K分辨率的显示器最后一行才能看到一些有用的信息,最常用的1080P分辨率第一页是不可能有正确结果了。深度学习百度搜索结果(广告有点儿多)微软的bing搜索引擎支持国内版和国际版,首先用国内版对‘深度学习’关键字进行搜索。bing搜索结果(质量还不错,无广告!)使用国际版对相同的‘深度学习’关键字

    2022年5月18日
    82
  • 华为 IP源防攻击和MAC认证

    华为 IP源防攻击和MAC认证文章目录一、拓扑二、IPSG三、MAC认证

    2022年6月15日
    65
  • Godot 2D 和 3D 游戏引擎[通俗易懂]

    Godot 2D 和 3D 游戏引擎[通俗易懂]Godot是一个全新开发的游戏引擎,其功能集类似知名的跨平台游戏引擎Unity,可用于开发PC、主机、移动和Web游戏。开发者引擎的2D和动画支持要强于Unity,表示在功能和特性上没有其它开源游戏引擎能相媲美。Godot引擎内置了类似Unity的编辑器,GUI工具包,2D/3D物理支持,支持OpenGLES2.0功能集的3D渲染器,易于学习的语言和API,支持用ASM.js或GoogleNativeClient输出HTML5代码,支持Linux、Windows和OSX开发平台…

    2022年5月25日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号