日志记录这块,简单的控制台打印也是日志,输出log文件也是日志,跨服务器输出日志,也是日志。这还没说复杂的日志监控,日志监控,需要对代码打印日志的标准有要求。这个就比较复杂了,
首先我们要知道,日志是有级别的,log4j,我记得好像有7个级别,slf4j,有五个级别。首先我们得知道log4j和slf4j是什么东西,为啥把这两个放在一起说。题外话说一下命名,这个4j应该不少人有疑问,因为这东西不符合Java的驼峰命名规则啊,为啥要起这个名呢,好吧,其实就是For Java的音译加缩写。据说是传统,比如什么dom4j等等。这个级别是用来控制日志输出内容的,你设置的级别越高,打印的日志就越少,你配置级别最低,则打印全部级别的日志。准确来说是包含关系,就像一个金字塔结构一样。
还有Log4j和Slf4j这两个并不负责输出日志,准确的说这两个是Java日志的门面,又或者是标准,门面是什么意思,就是服务员,你去吃饭,只需要和服务员说,我要一碗蛋炒饭。至于服务员去找哪个厨师帮你做,你不用管,这两个东西也是一样,你和slf4j说,我要打印日志,slf4j得去找实现给你打印日志,但是只有slf4j是没有办法给你打印日志的。这个时候你就需要去找一个厨师,就是实现。logback是直接实现了slf4j的一个日志实现。好了。应该说明白了。
实际上logback官网上是有十分详细的介绍,尬就尬在,是英文文档。
依赖
普通的Java项目
springboot中无需此依赖,默认的日志就是lagback。
配置文件介绍
应该是介绍的比较详细了,因为这东西平时很少有人去专门去记一下,我也是弄好一套,然后CV一下就可以了,注意上面的配置只是用来演示的,并不能直接CV下来用。下面我配置几种常用的配置,可以直接CV下来用的。
全部日志一个文件
不同级别不同文件
控制台打印太基础我就不说了,加强主要针对log文件,这个配置我们按日志级别输出对应级别的日志。方便我们定位和查找。一般来说,我们只需要info和error级别的日志即可。
最终结果是会输出两个日志文件,info.log
和error.log
, info包括info级别以及以下级别的日志,error.log
包括warn
和error
两个级别的日志。
不同包不同日志文件
我们一般的系统基本都有几层架构,有controller层,以及service层,logback可以根据不同的包来输出日志,也可以精确到具体的某一个类名。主要使用logger
这个标签来完成。这个没有办法CV,因为不同的项目包名不一样,根据自己的项目需要修改一下。
这个不怎么常用,只需要知道就行了,一般只使用第二个配置就行了,直接CV就行。至于和springboot中使用,可以整,但是没啥必要。具体的配置还是多看看介绍,多多学习。或者直接CV。😁😁
尾
主要内容到这里就介绍完了,logback的配置十分的灵活,但想要灵活的使用,还是需要多多的了解。当然打印日志归打印日志,如果你写代码打日志时不按照标准输出,再牛逼的配置也救不了。打印日志也需要规范一点。开发使用debug,需要留存的日志信息用info,异常信息用error。
封面