| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> Spring Boot日志文件 -> 正文阅读 |
|
[Java知识库]Spring Boot日志文件 |
目录 1.日志快速扫盲什么是日志?说白了就是控制台里面所打印的信息,还记得我们之前写普通java代码时,代码出现bug了之后,我们都是在控制台看出错信息,从而定位到代码出错的地方.控制台里面的一系列信息就是日志.所以日志对于我们来说有一个最关键的作用就是发现问题,定位问题.当然除了发现和定位问题之外,我们还可以通过日志来实现以下功能:
也就是说你的一切对程序的操作都会在日志中显示出来.以上这些都是日志提供的非常实用的功能. 2.Spring Boot项目日志简单分析Spring Boot 项目在启动的时候默认就有日志输出,如下图所示: ?以上内容就是Spring Boot 输出的控制台日志信息.简单分析一下,如下图所示: 通过上述日志信息我们能发现以下3个问题:
3.自定义打印日志开发者自定义打印日志主要就是以下 2 个实现步骤:
在程序中获取日志对象需要使用日志工厂LoggerFactory,如下代码所示:
注意:这里的Logger选用slf4j,如下图:
以上代码的意思是在TestController这个类中得到一个日志对象log,通过log对象就可以实现打印.代码如下: 启动服务器,进行访问,结果如下: ?至此,我们自定义的日志就打印出来了.这个输出语句就带上了它的出处,时间,线程id等.?
4.通过设置日志的级别来筛选和控制日志输出的内容得到日志对象之后,我们可以调用相关的方法输出我们自定义的日志,我们来看一下以下这段代码: 启动项目,控制台如下: ?看一下结果,是不是觉得有点奇怪,按理说应该会将上述五个都打印出来,但是只打印了3个.为什么呢?这就与日志级别有关了,我们来看一下: 日志级别分为以下几种:
日志级别的顺序: ?知道这个日志的级别之后,我们再来思考一下为什么只输出如图所示的三个.原因是SpringBoot的日志默认是info级的,只有等于或高于info级别的日志才能显示出来.也就是说我们改变它的这个默认日志级别就可以对日志进行过滤了. 为什么要对日志加以级别区分呢,很简单,就是为了在不同的环境下得到我们想要的日志信息.比如设置日志级别为 error,那么就可以只看程序的报错日志了,对于普通的调试日志和业务日志就可以忽略了,从而节省开发者的信息筛选时间。 接下来给大家看一下如何设置日志的级别.
5.日志持久化日志是默认在控制台输出的,是保存在内存上的,当我们重新运行项目时,之前的日志就没有了.然?在?产环境上我们需要将?志保存下来,这以便出现问题之后,我们可以追溯问题.就需要我们对日志进行持久化了. 想要将日志持久化,非常简单,只需要在配置文件中指定日志的存储目录或者是指定日志的保存文件名即可,这样Spring Boot会自动将控制台的日志写到相应的目录或文件下了.
像这样配置好之后,启动项目时,spring.log这个日志文件就会自动生成在你项目文件的根目录下.这样我们的日志就持久化成功了.当有新的日志生成时,是不会覆盖原来的日志信息的,而是会在后面叠加,如果日志越来越多,导致文件越来越大,别担心,它还会自动拆分的.
?像这样配置好之后,启动项目时,Spring会自动在你的 D:\java-spring 这个目录下生成一个日志文件,文件名不需要自己命名,它会自己默认生成,如下图: 以上就是日志文件的持久化操作了.?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/29 0:49:09- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |