Log4j2分析与实践-认识Log4j2

Apache Log4j2是Log4j1的升级版,与Log4j1相比,Log4j2有着重大的改进;Log4j2也提供了Logback特有的很多功能,同时修复了Logback(另一款日志框架)框架存在的一些固有问题。 API分离 Log4j2的API和实现已经分开,有利于应用开发者清楚他们可以使用的类和方法。

jeancandoit发布于2017-05-24 评论(0) 阅读(430)

Log4j2分析与实践-架构

主要讲解Log4j2的主要组件,以及架构和原理

jeancandoit发布于2017-05-27 评论(0) 阅读(361)

Log4j2分析与实践-配置详解

Log4j2提供了4种配置方式: (1)使用XML、JSON、YAML或properties格式的配置文件 (2)以硬编码的方式实现ConfigurationFactory和Configuration接口。 (3)以硬编码的方式调用Configuration暴露的API,可向默认配置中添加组件。 (4)以硬编码的方式调用Logger类的方法。

jeancandoit发布于2017-05-28 评论(0) 阅读(839)

Log4j2分析与实践-配置示例

Log4j2的基本配置示例,以便于新手可以快速开始。

jeancandoit发布于2017-05-28 评论(0) 阅读(444)

Log4j2分析与实践-Lookups

Lookups使得我们可以自由地再Log4j2配置文件中添加某些值(使用占位符设置变量),它们是一种特殊类型的插件,并且实现了StrLookup接口。

jeancandoit发布于2017-05-31 评论(0) 阅读(455)

Log4j2分析与实践-Appenders

Appenders负责将日志事件传递到目的地。每个Appender必须实现Appender接口,大多数Appender都会继承AbstractAppender,而AbstractAppender添加了Lifecycle和Filterable支持。Lifecycle使得组件在配置加载完毕之后完成初始化操作,也使得在组件关闭时执行清理任务。Filterable使得组件可以拥有过滤器,在事件执行过程中欧冠过滤器可以发挥过滤作用。

jeancandoit发布于2017-06-03 评论(0) 阅读(551)

Log4j2分析与实践-Layouts

Appender使用Layout来按需要格式化日志事件。在Log4j1和Logback中,Layout用来将事件转换为字符串。在Log4j2中,Layout返回一个字节数组,这就使得Layout的结果可以在多种类型的Appender中使用。然而,这就意味着你需要为Layout配置一个字符集来确保字节数组中包含正确的值。

jeancandoit发布于2017-06-03 评论(0) 阅读(463)

Log4j2分析与实践-Filters

Filters可以用来对日志事件进行过滤,过滤器会返回一个枚举类型的值,枚举值包含三个:ACCEPT、DENY和NEUTRAL。当返回结果为ACCEPT时会跳过这一级别的其它过滤器,进入下个级别的过滤器;为DENY时会直接终止事件的传递;为NEUTRAL时会继续交给同级别的其它过滤器处理(若已经是同级别最后一个过滤器,那么将日志事件传递给下个级别)。

jeancandoit发布于2017-06-04 评论(0) 阅读(540)

Log4j2分析与实践-异步Logger

异步Logger是Log4j2中新增的功能,目的是尽快向调用方返回结果。你可以选择将所有Loggers设置为异步的,也可以选择同步和异步混合的方式。将所有Logger都设置为异步的可以获得最好的性能,而混合的Logger会给你更好的灵活性。

jeancandoit发布于2017-06-04 评论(0) 阅读(764)

Log4j2分析与实践-无垃圾地写日志

从2.6开始,Log4j在默认在”无垃圾”模式下运行,虽然并非是没有垃圾产生,但不再使用ThreadLocal字段。ThreadLocal字段如果持有非JDK类的话,在Web应用取消部署后,当应用服务器的线程池继续引用这些字段时,可能会导致内存泄漏。当Log4j检测到运行在Web应用下时,”无垃圾”模式是默认的。当然也是可以关闭”无垃圾”模式的。

jeancandoit发布于2017-06-04 评论(0) 阅读(395)

Log4j2分析与实践-日志分离

很多时候,多个应用共享一个运行环境,而每个应用需要有自己独立的日志环境。本文的目的就是讨论如何实现日志分离。

jeancandoit发布于2017-06-05 评论(0) 阅读(361)

Log4j2分析与实践-插件

Log4j1可以通过在配置声明中添加类属性来进行扩展。在有些元素中,特别是PatternLayout,添加新的模式转换器(pattern converters)的唯一方法是继承PatternLayout这个类,然后通过代码添加转换器。Log4j2的一个目标就是通过使用插件来使得扩展变得非常容易。

jeancandoit发布于2017-06-08 评论(0) 阅读(413)

Log4j2分析与实践-扩展

Log4j2支持对组件进行自定义扩展。

jeancandoit发布于2017-06-08 评论(0) 阅读(507)

Log4j2分析与实践-编程实现日志配置

Log4j2提供了几种方式来实现编程配置: (1)指定一个使用编程配置的自定义ConfigurationFactory来启动Log4j。 (2)Log4j启动之后,使用Configurator来代替配置。 (3)使用配置文件和编程配置的组合来初始化Log4j。 (4)初始化之后修改当前的Configuration。

jeancandoit发布于2017-06-10 评论(0) 阅读(471)

Log4j2分析与实践-自定义日志级别

Log4j2支持在代码和配置文件中配置自定义的日志级别

jeancandoit发布于2017-06-10 评论(0) 阅读(450)