logback引发的总结

今天做数据修复的时候,需要将处理过的跟未处理过的数据记录到文件中,突然想到,这不就是日志系统嘛,所以就花点时间将接触过的日志框架组件类包整理总结一下,之前也没这么静下来认真的做过总结,只是一味的拿来主义。其实写这篇博客也借鉴了好多大神的博客,感谢他们的无私分享。

OK,开始吧,日志记录其实就是文件操作。所以,自己写了个小方法,简易实现了一下,如下


上面这方法,一个文件追加满足日常日志记录,但太过于粗糙,也因此激发了我对日志记录框架的兴趣,想一探究竟。

自己接触过的日志类包或框架:commons-logging、log4j、logback、logstash,我们都来看看。

1. commons-logging

简介

commons-logging 应该是学习日志系统最早接触到类库,是Apache commons类库中的一员。

commons Logging(JCL)提供的是一个日志(Log)接口(interface),同时兼顾轻量级和不依赖于具体的日志实现工具。它提供给中间件/日志工具开发者一个简单的日志操作抽象,允许开发人员使用不同的具体日志实现工具。

commons-logging 本身日志功能很弱,只一个简单的SimpeLog,所以一般结合log4j使用。

commons-logging 提供了一个统一的日志接口,配置文件可缺省,简化操作,将项目与环境中日志系统解耦。

加载配置机制

commons-logging可以自动扫描classpath下文件:按以下顺序匹配选择实现类(官网翻译,可能有误,欢迎指正)

(1) 找一个叫org.apache.commons.logging.Log的工厂属性。

可以通过Java代码显示设置配置属性---classpath下放一个commons-logging.properties配置文件即可。

当找到不止一个properties文件时候,使用第一个找到的文件。在文件中定义所需属性

(2) 当(1)未找到,则继续查找是否有org.apache.commons.logging.Log类,在类中定义属性

(3) 当classpach中有Log4j包时,使用相应的wrapper类(Log4JLogger)

(4) 当应用程序运行在jdk1.4上面,貌似只能使用jdk自己的包装(wrapper)类(jdk14Logger)

(5) 若以上步骤都未能匹配到,则只能使用自己提供的日志包装类 SimpeLog

commons-logging能够选择使用Log4j还是JDK Logging,但不依赖Log4j,JDK Logging的API。使用commons-logging能够灵活的选择使用那些日志方式,而且不需要修改源代码。

源码详解剖析参考,要感谢下面这些博主:

ref: http://blog.csdn.net/u011794238/article/details/50749260

ref: http://blog.csdn.net/wiker_yong/article/details/23551209

2. log4j

官方介绍---why log4j ?

使用log4j可以在运行时启用日志记录,而无需修改应用程序二进制文件。log4j包的设计是为了使这些语句,能保留在附带的代码中,不产生很大的性能损失。可在配置文件中调整日志记录级别debug-info,无需重启应用。... ...

log4j 的一个显著特点就是在日志记录器继承的概念。使用到日志层次机构,让日志可以在更细的任务中输出... ...

结合commons-logging 集成 log4j 配置

(1) log4j.configuration = log4j.properties 使用该配置Log4j属性文件名,默认名为log4j.properties

(2) log4j.rootCategory = priority[,appender]* 设置缺省日志记录器优先级

(3) log4j.log.logger.name = priority 设置日志记录器优先级,所有日志记录器级别都低于指定的日志记录器。

通过LogFactory.getLog(logger.name) 获取指定名字的实例,优先级可:DEBUG/INFO/WARN/ERROR/FATAL

通过log4j.logger.org.apache.component = DEBUG,可让所有Component类输出日志,别的Apache项目除外

(4) log4j.appender.appender.Threshold = priority 可以将日志输出到指定不同的设备,日志类型《= 指定优先级

配置参考资料,要感谢下面这些博主

ref: http://www.codeceo.com/article/log4j-usage.html

ref: https://my.oschina.net/zimingforever/blog/98048

ref: http://blog.csdn.net/u011794238/article/details/50742658

ref: http://blog.csdn.net/u011794238/article/details/50747953

3. logback + SLF4J

简介

logback是log4j的升级版,有点太多太多,而SLF4J和LogBack还都是出自Log4J的创始人Ceki Gülcü之手,貌似现在好多项目都用到logback,需要结合slf4j一块使用。

算啦,此部分,找到两篇博客,详细完美到佩服,不再赘述了,反正就是棒,实现了自动压缩归档等等。

不过,使用slf4j(java简单日志门面),使用的时候,注意选择正确的桥接包。

ref: http://blog.csdn.net/yycdaizi/article/details/8276265

参考资料,感谢下面这些博主

ref: http://www.cnblogs.com/warking/p/5710303.html

ref: https://www.oschina.net/translate/reasons-to-prefer-logbak-over-log4j

ref: http://blog.csdn.net/liubo2012/article/details/46337063Slf4j MDC+logback分析

ref: http://blog.csdn.net/sunzhenhua0608/article/details/29175283

ref: https://logback.qos.ch/manual/mdc.html#autoMDC官网MDC教程

下面是自己使用logback + slf4j 实现自定义日志属性输出及心得

先将 logback.xml 配置贴上来

(1)  配置日志输出类型,指定appender name="自定义名称"、file 日志记录全路径、 level、以及归档备份路径等等
(2) 注册logger包装类
(3) 在需要进行日志记录的地方,从工厂中获取名为monitor的日志器

4. logstash 分布式日志收集

这个就厉害了,但是我还不太了解,不过,稳住,我们能赢,后面我先学习一下,再来更新,^_^、先看看下面的教程吧......

ref: http://udn.yyuap.com/doc/logstash-best-practice-cn/index.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容