多语言展示
当前在线:976今日阅读:91今日分享:37

logback日志使用简介

Logback旨在作为流行的log4j项目的继任者,比其他现有日志系统更快更小,且提供了独特的有用的特性。包括logback-core,logback-classic和logback-access三个模块。logback-core模块为其他两个模块奠定了基础。logback-classic模块可以被同化为log4j的显着改进版本,且本身实现了SLF4J API。
工具/原料
1

maven logback1.2.3

2

eclipse

方法/步骤
1

初始化步骤:Logback可以通过编程或用XML或Groovy格式表示的配置脚本进行配置。并且按照以下文件的查找顺序,若找不到则继续往下找。logback-test.xml——logback.groovy——logback.xml——路径META-INF\services\ch.qos.logback.classic.spi.Configurator下com.qos.logback.classic.spi.Configurator的实现类——自动配置。可在启动应用时,看到logback的初始化顺序日志。

2

LogbackContext数据状态查看:1、可以通过java代码在控制台查看:LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();StatusPrinter.print(loggerContext);2、可通过在web.xml中配置,在网页端查看:    ViewStatusMessages     ch.qos.logback.classic.ViewStatusMessagesServlet           ViewStatusMessages     /logbackStatus    查看url格式http://localhost:port/应用名称/url-parttern,本例为:http://localhost:8080/logback/logbackStatus,结果见附件。

3

Appender:负责输出记录事件,Appender是命名实体。这确保了它们可以通过名称被引用,可以包括一个或多个filter,仅能有一个layout/encoder。ConsoleAppender:把信息输出到控制台。可使用true来激活 Jansi库,Windows机器ANSI颜色代码的支持。基于UNIX的系统默认支持。FileAppender:把日志输出到文件中。RollingFileAppender滚动文件,可特定的滚动策略输出,如TimeBasedRollingPolicy基于时间滚动策略、SizeAndTimeBasedRollingPolicy基于尺寸和时间的滚动策略等。相关配置及输出文件见下图。

4

encoder : 与Layout相比,layout只能将事件转换为字符串,无法控制事件写出的时间,不能将事件聚合成批次。编码器不仅可以完全控制写出的字节格式,还可以控制何时这些字节被写出。PatternLayoutEncoder唯一真正有用的编码器。它只是包装了 PatternLayout大部分工作。

5

Fliter:Logback-classic提供两种类型的过滤器,常规过滤器和涡轮过滤器。常规过滤器:扩展了Filter 抽象类,基本decide(ILoggingEvent)方法 。此方法返回的一个FilterReply 枚举值,DENY, NEUTRAL或ACCEPT。通过扩展Filter抽象类并实现 decide()方法,来定义自己的Filter。logback-classic提供了丰富的filter,如LevelFilter/ThresholdFilter/EvaluatorFilter等。TurboFilter:对象绑定到日志上下文,不仅在使用给定的appender时调用,而且在每次发出日志请求时都会调用,在LoggingEvent对象创建之前被调用 。 创建自己的TurboFilter组件,只需扩展TurboFilter抽象类。

6

其他:logback有许多的细碎的知识点,本文不再一一赘述,在实际开发过程中有用到,再进行学习研究。

注意事项
1

注意logback版本

2

有不准确的地方,请更正

推荐信息