一.slf4j.jcl.jul.log4j1.log4j2.logback JUL:JDK中的日志记录工具,也常称为JDKLog.jdk-logging. LOG4J1:一个具体的日志实现框架. LOG4J2:一个具体的日志实现框架,是LOG4J1的下一个版本. LOGBACK:一个具体的日志实现框架,但其性能更好. JCL:一个日志门面,提供统一的日志记录接口,也常称为commons-logging. SLF4J:一个日志门面,与JCL一样提供统一的日志记录接口,可以方便地切换看具体的实现框架…
1.xml配置文件语法 由于logback配置文件语法特别灵活,因此无法用DTD或schema进行定义. 1.配置文件基本结构 配置文件基本结构:以<configuration>标签开头,包含0或多个<appender>子标签,包含0或多个<logger>标签,最多只能有一个<root>标签. 注意: 从 logback 0.9.17 版起,标签名不区分大小些.比如,<logger>.<Logger>和<LOGGER>都是…
一.日志系统介绍 slf4j,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统.简答的讲就是slf4j是一系列的日志接口,而log4j是具体实现了的日志框架. slf4j与常用日志框架绑定关系 二.导入jar包 Maven导入slf4j和log4j,编辑pom.xml <!-- 导入slf4j-log4j12,依赖slf4j-api和log4j,自动导入 --> <dependency> <g…
日志记录自然是非常重要的,但恐怕能记住slf4j与log4j等日志框架配置的人就很少了,这个东西不难,只是配置好后很少会去动它,开发新项目一般也是从其他项目拷贝,或者参照文档 废话不多说,先说log4j,使用log4j只要简单的几步 首先,弄到log4j的jar包,maven工程配置以下依赖就行,或者,从阿里的maven仓库下载jar包,添加到工程的“build path” <dependency> <groupId>log4j</groupId> <artifa…
1.SLF4J(Simple logging Facade for Java) 意思为简单日志门面,它是把不同的日志系统的实现进行了具体的抽象化,只提供了统一的日志使用接口,使用时只需要按照其提供的接口方法进行调用即可,由于它只是一个接口,并不是一个具体的可以直接单独使用的日志框架,所以最终日志的格式.记录级别.输出方式等都要通过接口绑定的具体的日志系统来实现,这些具体的日志系统就有log4j,logback,java.util.logging等,它们才实现了具体的日志系统的功能. 如何使用SL…
1.Logback配置 1.配置步骤及默认配置 logback即可以通过编程式配置,也可以通过xml的形式配置. logback配置步骤: 1. 尝试在 classpath 下查找文件 logback-test.xml: 2. 如果文件不存在,则查找文件 logback.xml: 3. 如果两个文件都不存在,logback 用 BasicConfigurator 自动对自己进行配置(默认配置),这会导致记录输出到控制台.   注意:当配置文件 logback-test.xml 和 logback…
过滤器放在了logback-classic模块中. 1.logback-classic模块中过滤器 分类(2种):常规过滤器.TurboFilter过滤器. 1.常规过滤器 常规过滤器可以通过自定义进行条件筛选过滤. 目前logback-classic中有2个常规过滤器:级别过滤器(LevelFilter).临界值过滤器(ThresholdFilter).在logback-core中还有一个求值过滤器(EvaluatorFilter). 1.自定义过滤器 创建自定义过滤器很容易,只需要继承Fil…
1.logback介绍 1.什么是logback Logback 为取代 log4j 而生. Logback 由 log4j 的创立者 Ceki Gülcü设计.以十多年设计工业级记录系统的经验为基础,所创建的 logback 比现有任何记录系统更快.占用资源更少,有时差距非常大. Logback 提供独特而实用的特性,比如 Marker.参数化记录语句.条件化堆栈跟踪和强大的事件过滤功能.以上列出的仅仅是 logbook 实用特性的一小部分. 对于自身的错误报告,logback 依赖状态(St…
1.appender 1.什么是appender Appender 是负责写记录事件的组件. Appender 必须实现接口“ch.qos.logback.core.Appender”.该接口的重要方法总结如下:  2.AppenderBase public synchronized void doAppend(E eventObject) { // prevent re-entry. if (guard) { return; } try { guard = true; if (!this.st…
1.Encoder 1.encoder功能 Encoder 负责两件事,一是把事件转换为字节数组,二是把字节数组写入输出流. 注意:在logback 0.9.19 版之前没有 encoder. 在之前的版本里,多数 appender 依靠 layout 来把事件转换成字符串并用 java.io.Writer 把字符串输出.在之前的版本里,用户需要在 FileAppender里嵌入一个 PatternLayout.而从 0.9.19 版开始,FileAppender 和其子类使用 encoder,…