博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
logback+slf4j作为日志系统
阅读量:7009 次
发布时间:2019-06-28

本文共 2740 字,大约阅读时间需要 9 分钟。

一、logback简介

log4j和logback作者是同一人:CekiGülcü。log4j和logback都是实打实的日志系统。

commons-logging,slf4j这两者是日志大管家。slf4j几乎完爆commons-logging。

Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:

  • logback-core
  • logback- classic
  • logback-access

logback-core是其logback-classic和logback-access的基础模块,另两个模块只是对core模块进行一些封装

logback-classic在logback-core的基础上遵循slf4j的标准实现日志系统,在maven中配置时,只配置logback-classic就够了,因为它会自动引入logback-core包。
此外logback-classic完整实现了SLF4J API。也就是说,logback-classsic服从slf4j这个日志大管家的管理。这就使我们可以很方便地更换成其它日志系统,如log4j或JDK14 Logging。
logback-access访问模块与Servlet容器集成提供通过Http来访问日志的功能。

slf4j是一个大管家,它管着

  • java.util.logging,中间的协调人是slf4j-jdk14.jar
  • log4j,中间的协调人是slf4j-log4j12.jar
  • logback-core,中间的协调人是logback-classic

二、一份够用的logback配置

使用logback+slf4j只需要两个依赖:slf4j和logback-classic,其中logback-classic会自动引用logback-core

pom.xml中添加依赖

ch.qos.logback
logback-classic
1.2.3
org.slf4j
slf4j-api
1.7.25

需要注意的是slf4j的版本跟logback-classic的版本、JDK的版本协调一致。

slf4j对开发者非常友好,它把几乎可能遇到的问题全部列出来了,抛出警告时直接抛出一个url,在这个网页上一看便知是何原因:

这是一种非常优美的设计:抛出异常时,给出一个URL。

下面是logback配置,logback支持groovy、xml等多种语法配置。

注意,在logback.xml中可以配置property,属性可以引用user.home,user.dir等目录。

  • 最佳实践是把全部的日志相关的配置都放在logback.xml中足够了。
  • 日志存放位置应该跟webapp目录分离,最好放在user.home/webappName-log目录下
${LOG_PATH}/info.log
${LOG_PATH}/info-%d{yyyyMMdd}.log.%i
10MB
2
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n
ERROR
${LOG_PATH}/error.log
${LOG_PATH}/error-%d{yyyyMMdd}.log.%i
10MB
2
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n

对于logback,官方没有XSD这样的XML文档格式定义的,但是民间有。

三、我说

日志系统是成熟语言的标配。任何系统只要部署到服务器肯定需要日志。不然出了问题根本没法定位错误。

日志系统的好坏普通用户是感觉不到的,比如log4j和logback到底哪个更好,我认为二者差别并不大,选择上也不用太纠结。logback是后起之秀,这倒是事实。
不要试图搞清楚日志系统的每一个细节。日志系统庞大复杂,作者都是大牛级人物。看上去日志很简单,可是现代化的日志功能非常丰富:比如说定义输出格式,定义输出位置,定义存储日志文件的策略(包括定时压缩、定时删除、定时回滚覆盖等等)。在平时应用上,找到一份比较够用的配置文件基本上就足以应对一切日志问题了。
不要试图弄清楚世界上的每一个细节。

转载地址:http://fnttl.baihongyu.com/

你可能感兴趣的文章
美柚社区精选:贴心宝妈的八大育儿经验
查看>>
走进医疗明星企业之北京天坛普华医院
查看>>
一点资讯电影贴片广告以假乱真
查看>>
曙光出炉“数据中国加速计划”
查看>>
中国制造2025新机遇 机器视觉行业爆发
查看>>
中国工商银行阿根廷分行用数据运营展现本地特色
查看>>
使用闪存存储的优势与注意事项
查看>>
《并行计算的编程模型》一2.2 GASNet概述
查看>>
彷徨中的成长-记一个文科生的IT成长过程
查看>>
OpenStack正重新定义数据解决方案商业模式
查看>>
大数据会撒谎?如何戳破大数据的谎言
查看>>
如何为你的Linux服务器加把锁
查看>>
大数据,让“营销”发生质的改变——专访泰一数据副总封雷
查看>>
Java 读取大文件方法
查看>>
七项最酷的数据中心创新
查看>>
5G NR标准制定加速 将对运营商计划产生重大影响
查看>>
怎么足不出户在网上配钥匙
查看>>
大数据应用价值发现的三大方法
查看>>
“摄像头新规”是民生利好 但落实仍有难度
查看>>
Skype 正式为 iOS 和 Android 用户推出移动端群组视频聊天功能
查看>>