- Logback的简单介绍和配置
- 在Java代码中如何使用SLF4J来写日志以及写日志的要点
- 作为一个程序员,在日常工作中如何分析和挖掘Log。
写代码中的日志是一个除了用代码实现功能之外最基础最基础的一个技能了,是一个必须掌握的技能。但是目前为止,关于如何日志的文章和书籍还是不多。
1.1 写日志的必要性
碰到QA提的一个bug的时候,我见识过两种方式的答复:a)请给我重现步骤和重现数据;b)把当时的日志给我。答复前者的,一般需要花很多时间去找问题出现在那里,如果是别人开发的模块的话,花费的时间更多。答复后者的,一般能很快的找到出问题的点,然后就可以开始进入修复的流程。
从概念上来说:日志是一个可运行的、可维护的软件的基础组成部分;通过日志,我们可以了解软件系统在运行中的实时状态,历史状态和异常状态等。一个没有良好日志的软件是所有人的噩梦。
如果你不想给自己找麻烦,你还是把日志好好写写。
1.2 为什么选Logback?
原因有俩:
- 我最近几年用的都是Logback
- 在前几天Log4j 2.0出来之前,logback的Logger用得比较爽
不过不管是Logback、Log4j还是别的什么Log框架,后继文章里面的关于写Log的一些技巧和建议都是适用的。
2. 如何配置Logback
下面会简单介绍一下Logback的配置,适用于开始配置和开始入门,适用于一般情况下的使用,如果想了解更多的信息,建议看看Logback的官方文档,写得很不错的。http://logback.qos.ch/manual/introduction.html
2.1 Logback简单介绍
简单来说就是Log4j 1流行了,发现有一些问题是无法解决的,于是又出来了Logback,在Log4j的基础上提升了性能,提高了功能等等。不过前几天有出来了Log4j 2,据说是相对于Logbak来说又提升了性能提高了功能。
2.2 关于SLF4J和Logback
SLF4J(slf4j.org)又称Simple Logging Facade for Java,是一个通用的logging接口,它试图一统Logging框架的天下,兼容了(Log4j 1, java.util.logging和Jakarta Commons Logging)这三个最流行的Logging框架。Logback就是SLF4J的默认实现。
2.3 依赖包导入
下文以Logback 1.1.2及slf4j1.7.6版本为例子。一般情况下,你按照我下面说的就可以了,如果不行的话,你可以去翻翻英文的文档:http://logback.qos.ch/setup.html。
2.3.1 一般程序
Maven版
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.2</version>
</dependency>