解决slf4j|解决slf4j 和 logback-classic遇到的坑
slf4j 和 logback-classic遇到的坑
以前一直不注意日志的打印,最近项目需求需要用日志记录用时性能,集成日志时遇到的问题记录下。
问题一:服务器启动时提示未找到slf4j的实现类
此时一定是没有在classpath中找到jar包,启动时会有相应的警告提示。需要三个包:slf4j-api(接口),logback-classic(最优实现),logback-core(核心)。加入的位置可能存在两种,一种是tomcat需要,需要加在tomcat的lib下,还有一种是加在项目的classpath下。
问题二:不生成文件或者生成的文件路径不对
不生成文件存在一个原因,logback.xml没有配置写入到文件(默认配置文件的顺序是logback-test.xml, logback.groovy, logback.xml),注意如果是maven项目,不要把src/test/resources中的logback-test.xml发到环境中,因为优先级最高。关于生成的文件路不对,解释是正确的配置
文件位置是eclipse的根目录,如果配置是
则文件位置是eclipse所在盘符的根目录,如D盘。
slf4j与logback的结合使用 一、logback的介绍
Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。
此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging。logback-access访问模块与Servlet容器集成提供通过Http来访问日志的功能。 Logback是要与SLF4J结合起来用两个组件的官方网站如下:
logback的官方网站: http://logback.qos.ch
SLF4J的官方网站:http://www.slf4j.org
二、组件
Logback 分为三个模块:logback-core,logback-classic,logback-access。其中logback-core 是核心;logback-classic 改善了 log4j,且自身实现了 SLF4J API,所以即使用 Logback 你仍然可以使用其他的日志实现,如原始的 Log4J,java.util.logging 等;logback-access 让你方便的访问日志信息,如通过 http 的方式。
三、引用配置
1、 pom.xml文件:
org.slf4j slf4j-api1.7.12 org.slf4j jcl-over-slf4j1.7.12 ch.qos.logback logback-core1.1.3 ch.qos.logback logback-classic1.1.3
2、logback.xml
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n xxxx.log xxxx.log.%i.bak 1 12 100MB %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n
四、示例代码
import org.slf4j.Logger; import org.slf4j.LoggerFactory; class Bar { Logger logger = LoggerFactory.getLogger(Bar.class); public void doIt() {logger.debug("doing my job"); }}
【解决slf4j|解决slf4j 和 logback-classic遇到的坑】以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
推荐阅读
- 急于表达——往往欲速则不达
- parallels|parallels desktop 解决网络初始化失败问题
- 第三节|第三节 快乐和幸福(12)
- 20170612时间和注意力开销记录
- 2.6|2.6 Photoshop操作步骤的撤消和重做 [Ps教程]
- 对称加密和非对称加密的区别
- 眼光要放高远
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- 樱花雨
- 前任