2019独角兽企业重金招聘Python工程师标准>>>

本文为转载学习

英文原文:Apache.org,编译:ImportNew - 滕开选

译文连接:http://www.importnew.com/3046.html

关于Log4j 2 

Log4j 2 是Log4j的升级版,与之前的版本Log4j 1.x相比、有重大的改进,在修正了Logback固有的架构问题的同时,改进了许多Logback所具有的功能。
Log4j 2的特性以及改进有:

  • API分离:Log4j将API与实现分离开来。开发人员现在可以很清楚地知道能够使用哪些没有兼容问题的类和方法,同时又允许通过自己实现来增强功能。

  • 改进的性能:Log4j 2的性能在某些关键领域比Log4j 1.x更快,而且大多数情况下与Logback相当。更多的信息请参考性能。

  • 多个API支持:Log4j 2提供最棒的性能的同时,还支持SLF4J和公共日志记录API。

  • 自动配置加载:像Logback一样,一旦配置发生改变,Log4j 2可以自动载入这些更改后的配置信息,又与Logback不同,配置发生改变时不会丢失任何日志事件。

  • 高级过滤功能:与Logback类似,Log4j 2可以支持基于上下文数据、标记,正则表达式以及日志事件中的其他组件的过滤。Log4j 2 能够专门指定适用于所有的事件,无论这些事件在传入Loggers之前还是正在传给 appenders。另外,过滤器还可以与Loggers关联起来。与Logback不同的是,Filter公共类可以用于任何情况。

  • 插件架构:所有可以配置的组件都以Log4j插件的形式来定义。同样地,不需要修改任何Log4j代码就可以创建新的Appender、Layout、Pattern Convert 等等。Log4j自动识别预定义的插件,如果在配置中引用到这些插件,Log4j就自动载入使用。

  • 属性支持:属性可以在配置文件中引用,也可以直接替代或传入潜在的组件,属性在这些组件中能够动态解析。属性可以是配置文件,系统属性,环境变量,线程上下文映射以及事件中的数据中定义的值。用户可以通过增加自己的Lookup插件来定制自己的属性。

文档

Log4j 2用户文档可在这里在线阅读,或下载成PDF格式。

要求

Log4j 2至少要求安装Java 5,然而使用Java 6的增强功能可以提高性能。有些特性需要一些可选的依赖,这些依赖在相关特性的文档中有说明。

资讯

Log4j 2现在已经可以测试。API与Log4j 1.x 不兼容,不过通过适配器可以继续使用Log4j 1.x API。 适配器同样适用于Commons Logging和SLF4J.

文档

Log4j 2用户文档可在这里在线阅读,或下载成PDF格式。

要求

Log4j 2至少要求安装Java 5,然而使用Java 6的增强功能可以提高性能。有些特性需要一些可选的依赖,这些依赖在相关特性的文档中有说明。

资讯

Log4j 2现在已经可以测试。API与Log4j 1.x 不兼容,不过通过适配器可以继续使用Log4j 1.x API。 适配器同样适用于Commons Logging和SLF4J.

Log4j 2.x的构建与安装

构建

Log 4j 运行在Apache 软件基金会下的代码仓库中。Log4j 代码仓库可以找到如何获取当前绝大多的源代码的细节。可以根据Log4j下载说明下载最新的源代码

Log4j 2.x 使用Maven 2或3作为生成工具。在root目录中仅运行”mvn install”就可以生成Log4j.

程序中如何使用

在你的程序中使用Log4j之前必须确保API和Core jars 在程序的classpath中。使用Maven将下面的依赖加入pom.xml.

<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.0-beta3</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.0-beta3</version>
</dependency>
</dependecies>

Apache 公共日志记录

公共日志记录在许多组件中使用,不同的组建可以选择特定的日志记录的实现。为了把这些组件的日志功能集成到Log4j 2,需要加入下面的依赖,而且不能删除Commons Logging jar

<dependencies>
<dependency>
<groupId>org.apache.logging.log4j.adapters</groupId>
<artifactId>log4j-jcl</artifactId>
<version>2.0-beta3</version>
</dependency>
</dependecies>

SLF4J

SLF4J是另一个受欢迎的日志记录API,通过加入下面的依赖以及SLF4J依赖就可以将其绑定到Log4j 2.

<dependencies>
<dependency>
<groupId>org.apache.logging.log4j.adapters</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.0-beta3</version>
</dependency>
</dependecies>

升级注意事项
Apache Log4j 2不支持兼容老版本。如果要升级到Log4j 2请铭记下列几条:

  • 需要Java 5

  • 简化了XML配置,不兼容logj4 1.x。

  • 不支持属性文件配置

  • 支持JSON配置

  • 虽然Log4j 2不能与Log4j 1.x直接兼容,但是可以通过自带兼容桥梁来降低升级带来的代码更改。

转载于:https://my.oschina.net/u/2260184/blog/512366

Log4j 2 介绍相关推荐

  1. log4j 使用介绍

    日志是应用软件中不可缺少的部分,Apache的开源项目Log4j是一个功能强大的日志组件,提供方便的日志记录.以下是个人经验,具体请参考Log4j文档指南. Log4j下载 在apache网站:htt ...

  2. Log4j详细介绍(七)----日志格式化器Layout

    日志格式化器Layout负责格式化日志信息.方法log.error()的参数只包含日志信息,利用Layout可以附加其他信息,以输出更多的信息或者布局显示. PatternLayout布局 Patte ...

  3. Log4j自定义Appender介绍

    最初想要在执行一段业务逻辑的时候调用一个外部接口记录审计信息,一直找不到一个比较优雅的方式,经过讨论觉得log4j自定义的appender或许可以实现此功能.后来就了解了一下log4j的这部分. Ap ...

  4. log4j配置文件详解

    在开发中经常会碰到日志,网上关于日志的框架也很多,像log4j.self4j.common-logging等,下面对log4j进行介绍. log4j是java开发的日志框架,具有低侵入的特点,其重点使 ...

  5. 使用log4j记录日志_使用log4j2免费分配日志记录

    使用log4j记录日志 介绍 最近,我正在为一个客户端工作,试图为大型精心制作的Java系统消除一些GC暂停. 经过分析后,我意识到大部分垃圾都是通过日志记录产生的! 是否有一种简单的方法来删除所有分 ...

  6. LOG4J原理以及配置的研究

    在进行 Log4J 的使用过程中,我对下面的两个问题比较敏感: 1.  Log4J 是如何进行工作的? 这是在 Log4J 项目中对 Log4J 的介绍中的一段话 With log4j it is p ...

  7. 多线程、多平台环境中的跟踪 - 使用 log4j 和 UNIX 命令来挖掘跟踪数据

    2004 年 4 月 01 日 大多数 Java 程序员都使用某种跟踪系统来跟踪开发中的代码的潜在错误和问题.然而,多线程和多平台环境可能产生大量莫名其妙的跟踪数据.在本文中,软件工程师 Daniel ...

  8. 在Tomcat 与weblogic 中的 日志(log4j) 配置系列一

    前言 使用 spring 开发了一个web的项目. 使用log4j来记录日志. 开发完成后,打成.war 档,部署在Tomcat6 的服务器中, 是正常的: 但是部署到weblogic10.3.X.X ...

  9. java日志优雅打印格式_优雅编程之日志排查Log4j

    背景 程序开发调试中,不可缺少的便是日志管理,常用的日志管理框架有如下几种: Log4j:Apache Log4j是一个基于Java的日志记录工具.它是由Ceki Gülcü首创的,现在则是Apach ...

最新文章

  1. TaskExecutor设计与实现
  2. 洛谷——P1106 删数问题
  3. 004 IOC---IOC容器
  4. bean初始化、注销
  5. (转)求单链表是否有环,环入口和环长
  6. 分布式缓存应用(转载的)
  7. 西电计算机达标测试挂科保研,西电竞赛保研
  8. oracle——监听(一、多实例监听配置)
  9. android mysql客户端_一款基于Android手机的MySQL客户端的设计与实现
  10. 显示器最大分辨率测试软件,液晶显示器分辨率快速设置工具
  11. jenkins插件镜像源
  12. scratch做了个病毒大战的游戏,欢迎朋友们试玩,多提意见
  13. 【工具】-13UML泳道图
  14. 支付宝扫码转银行卡技术/隐藏部分卡号
  15. 【LM】windows7 内部版本7601,此windows副本不是正版——已解决
  16. win7摄像头软件_GIF图片编辑、剪切、缩帧软件,ScreenToGif
  17. 数据库候选关键词怎么求_关系模式中候选关键字的图论求解法
  18. 大数据时代:大数据发展必备三个条件
  19. Microcontent - 微内容
  20. Elastic认证考试:备考环境完全指南

热门文章

  1. 跟我学Springboot开发后端管理系统8:Matrxi-Web权限设计实现
  2. ArrayList集合为什么不能使用foreach增删改
  3. Java编程中,有哪些好的习惯从一开始就值得坚持?
  4. 为什么一定要前后端分离?
  5. @即将读研的师弟师妹们!
  6. 什么是好的图神经网络?
  7. 数据可视化教程来了!
  8. 中科院计算所实习-深度学习方向
  9. 单个GPU无法训练GPT-3,但有了这个,你能调优超参数了
  10. Uber准备放弃自动驾驶,转手卖给前谷歌无人车CTO,估值曾被孙正义炒到72.5亿美元...