ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:130.26KB ,
资源ID:10824916      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10824916.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SLF4J+LogBack总结.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SLF4J+LogBack总结.docx

1、SLF4J+LogBack总结SLF4J+LogBack_学习总结一, 介绍Slf4j :简单日记门面(Facade)SLF4J是为各种loging APIs提供一个简单统一的接口,从而使得最终用户能够在部署的时候配置自己希望的loging APIs实现。 Logging API实现既可以选择直接实现SLF4J接的loging APIs如: NLOG4J、SimpleLogger。也可以通过SLF4J提供的API实现来开发相应的适配器如Log4jLoggerAdapter、 JDK14LoggerAdapter。Logback :Logback是由log4j创始人设计的又一个开源日记组件。lo

2、gback当前分成三个模块:logback-core,logback- classic和logback-access。;logback-core是其它两个模块的基础模块。logback-classic是log4j的一个改良版本。此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日记系统如log4j或JDK14 Logging。logback-access访问模块与Servlet容器集成提供通过Http来访问日记的功能。 Log4j :Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、

3、甚至是套接口服务 器、NT的事件记录器、UNIX Syslog守护进程等;用户也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,用户能够更加细致地控制日志的生成过程。这些可以通过一个配置文件来灵活地进行配置,而不需要修改程序代码。slf4j是日志系统的前端接口,logback则是日志实现。Slf4j的接口关系,如下图:二, 结构基本结构:三个jar包+一个xml配置文件 logback-classic-1.0.6.jar logback-core-1.0.6.jar slf4j-api-1.6.6.jar logback.xml三, 使用configuretion appender

4、(负责写日志的组件) filter root(rootloger) loger(root也是loger元素)appender ConsoleAppender(写入控制台)FileAppender(写入文件中)RollingFileAppender (rollingPolicy滚动策略: TimeBasedRollingPolicy FixedWindowRollingPolicy; triggeringPolicy触发策略:SizeBasedTriggeringPolicy) filter LevelFilter (级别过滤器)包括: ThresholdFilter(临界值过滤器)Evalua

5、torFilter(求值过滤器)四, 注意1, 日志形式:文件形式日志、控制台形式日志、数据库形式日志、JMS形式日志、mail形式日志。日志可以使用不同的方式生成。2, 简洁的代码写法:Log4j语句:if( logger.isDebugEnabled() ) logger.debug( User with account +user.getAccount() + failed authentication; +supplied crypted password + user.crypt(password) + does not match. );等价的LOGBack语句如下:logger.

6、debug( User with account failed authentication; +supplied crypted password does not match.,user.getAccount(), user.crypt(password) );3, 过滤器:过滤器,执行一个过滤器会有返回个枚举值:即DENY,NEUTRAL,ACCEPT其中之一。返回DENY,日志将立即被抛弃不再经过其他过滤器;返回NEUTRAL,有序列表里的下个过滤器过接着处理日志;返回ACCEPT,日志会被立即处理,不再经过剩余过滤器。过滤器被添加到 中,为 添加一个或多个过滤器后,可以用任意条件对日

7、志进行过滤。 有多个过滤器时,按照配置顺序执行。4, 查找logback.xml文档的顺序:5, Appender的内容:6, Logback中各个节点之间的关系:五, 代码(各种logback.xml配置)1, 基本配置代码: %dyyyy-MM-dd HH:mm:ss.SSS %thread %-5level %logger36 - %msg%n 说明:logback.xml的基本配置信息都包含在configuration标签中,需要含有至少一个appender标签用于指定日志输出方式和输出格式,root标签为系统默认日志进程,通过level指定日志级别,通过appender-ref关联前

8、面指定顶的日志输出方式。例子中的appender使用的是ch.qos.logback.core.ConsoleAppender类,用于对控制台进行日志输出,其中encoder标签指定日志输出格式为“时间 线程 级别 类路径 信息”logback的文件日志输出方式还提供多种日志分包策略。2, 文件日志配置代码:view plaincopy to clipboardprint? E:/logs/mylog.txt E:/logs/mylog-%dyyyy-MM-dd_HH-mm.%i.log 5 100MB %date %level %thread %logger36 %file : %line

9、%msg%n 说明:文件日志输出采用的ch.qos.logback.core.rolling.RollingFileAppender类,它的基本属性包括指定输入文件路径,encoder指定日志格式。其中,rollingPolicy标签指定的是日志分包策略,ch.qos.logback.core.rolling.TimeBasedRollingPolicy类实现的是基于时间的分包策略,分包间隔是根据fileNamePattern中指定的事件最小单位,比如例子中的%dyyyy-MM-dd_HH-mm的最小事件单位为分,它的触发方式就是1分钟,策略在每次想日志中添加新内容时触发,如果满足条件,就将m

10、ylog.txt复制到E:/logs/目录并更名为mylog-2010-06-22_13-13.1.log,并删除原mylog.txt。maxHistory的值为指定E:/logs目录下存在的类似mylog-2010-06-22_13-13.1.log文件的最大个数,当超过时会删除最早的文件。此外,策略还可以互相嵌套,比如本例中在时间策略中又嵌套了文件大小策略,ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP实现对单文件大小的判断,当超过maxFileSize中指定大大小时,文件名中的变量%i会加一,即在不满足时间触发且满足大小触发时,会生成m

11、ylog-2010-06-22_13-13.1.log和mylog-2010-06-22_13-13.2.log两个文件。3, 数据库日志配置代码: com.mysql.jdbc.Driver jdbc:mysql:/127.0.0.1:3306/databaseName root root 说明:数据库输出使用ch.qos.logback.classic.db.DBAppender类,数据源支持c3p0数据连接池,例子中使用的MySql,其他配置方式请参考官方文档。使用数据库输出需要在数据库中建立3个表,建表脚本如下# Logback: the reliable, generic, fast

12、 and flexible logging framework.# Copyright (C) 1999-2010, QOS.ch. All rights reserved.# See http:/logback.qos.ch/license.html for the applicable licensing # conditions.# This SQL script creates the required tables by ch.qos.logback.classic.db.DBAppender.# It is intended for MySQL databases. It has

13、been tested on MySQL 5.1.37 # on LinuxBEGIN;DROP TABLE IF EXISTS logging_event_property;DROP TABLE IF EXISTS logging_event_exception;DROP TABLE IF EXISTS logging_event;COMMIT;BEGIN;CREATE TABLE logging_event ( timestmp BIGINT NOT NULL, formatted_message TEXT NOT NULL, logger_name VARCHAR(254) NOT NU

14、LL, level_string VARCHAR(254) NOT NULL, thread_name VARCHAR(254), reference_flag SMALLINT, arg0 VARCHAR(254), arg1 VARCHAR(254), arg2 VARCHAR(254), arg3 VARCHAR(254), caller_filename VARCHAR(254) NOT NULL, caller_class VARCHAR(254) NOT NULL, caller_method VARCHAR(254) NOT NULL, caller_line CHAR(4) N

15、OT NULL, event_id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY );COMMIT;BEGIN;CREATE TABLE logging_event_property ( event_id BIGINT NOT NULL, mapped_key VARCHAR(254) NOT NULL, mapped_value TEXT, PRIMARY KEY(event_id, mapped_key), FOREIGN KEY (event_id) REFERENCES logging_event(event_id) );COMMIT;BEGIN

16、;CREATE TABLE logging_event_exception ( event_id BIGINT NOT NULL, i SMALLINT NOT NULL, trace_line VARCHAR(254) NOT NULL, PRIMARY KEY(event_id, i), FOREIGN KEY (event_id) REFERENCES logging_event(event_id) );COMMIT;4, 其它日志配置说明:此外logback还提供基于mail,基于jmx等多种日志输出方式,你也可以通过继承 ch.qos.logback.core.AppenderBas

17、e 自己写appender实现除了使用默认的日志主线程外,还可以通过标签定制其他日志线程如: 其中name指定线程针对的包路径,level是日志级别,定义使用那种appender。例如要实现打印jdbc提交的sql,可以加入如下logger:贴出我完整的logback.xml E:/logs/mylog.txt E:/logs/mylog-%dyyyy-MM-dd_HH-mm.%i.log 5 100MB %date %level %thread %logger36 %file : %line %msg%n %dyyyy-MM-dd HH:mm:ss.SSS %thread %-5level %logger36 - %msg%n com.mysql.jdbc.Driver jdbc:mysql:/127.0.0.1:3306/tunneldb root 123123 !- 打印sql - 总结:logback提供了丰富而高效的日志输出方式,并通过滚动策略,将实施时复杂的备份策略整合,极大的简化的部署成本,有兴趣的朋友可已考虑放到自己的项目里.官方提供了几百页的文档,内容相当详细,更多的内容请参照官方文档。5, 带说明的配置文件代码:UTF-8%dyyyy-MM-dd HH:mm:ss.SSS %thread %-5level %logger50 - %msg%n UTF

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1