这是 Log4j 2 的首次发行的版本,值得关注的改进包括:
- API 分离 – Log4j 的 API 和其实现进行分类(注:我讨厌这样,本来一个jar包搞定的,要变成好几个,跟 slf4j 似的的)
- 为日志审计而设计,与 Log4j 1.x 和 Logback 不同的是 Log4j 2 将不会在重新配置期间丢失事件,支持消息可方便进行审计
- 性能方面的提升,在关键领域比 Log4j 1.x 的性能提升不少,大部分情况下性能跟 Logback 差不多
- 支持多 APIs,支持 SLF4J 和 Commons Logging API
- 自动配置重载,支持 XML 和 JSON 格式的配置
- 插件体系架构,所有可配置的组件都是通过 Log4j 插件进行定义,包括 Appender, Layout, Pattern Converter, 等等
- 配置属性支持
Apache log4j 2.0 要求至少 JDK 5
将日志请求到应用程序代码需要大量的规划与努力。观察表明,大约有4%的代码是用于日志记录。 因此,即便是一般大小的应用程序将会有成千上万的日志语句嵌入在他们的代码。 由于它们的数量,它已成为管理这些日志语句,而不需要修改手动命令。
Apache Log4j 2是分布式的Apache许可,2.0版本。同时提供有二进制版和源码版。
Log4j 2.0中有默认的配置文件,级别为ERROR。有手动配置,也有自动配置。
Log4j 2.0有四种方式的配置文件。
1.通过一个配置文件编写的XML、JSON或YAML。
2.以编程方式,通过创建一个ConfigurationFactory和配置实现。
3.以编程方式,通过调用api暴露在配置界面添加 组件的默认配置。
4.以编程方式,通过调用Logger类内部的方法。
关于Log4j 2.0的特性说明,目前了解到的就这些。
如有不懂,疑问或者欠妥的地方,请加QQ群:135430763 进行反馈,共同学习!