Log4j 2.0在开发中的高级使用具体解释—介绍篇(一)

Log4j最终迎来了首个apache版本号。Log4j 2 是 Log4j 的升级版本号,该版本号比起其前任来说有着显著的改进,包括非常多在 Logback 中的改进以及Logback
架构中存在的问题。

这是 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   进行反馈,共同学习!

时间: 2024-12-29 17:12:38

Log4j 2.0在开发中的高级使用具体解释—介绍篇(一)的相关文章

Log4j 2.0在开发中的高级使用详解—配置简单的控制台输出(三)

Log4j 2.0在最近迎来了重大的版本升级.解决了1.x中死锁bug之外,性能也有10倍的提升. 同样的在最新版本中的新特性中.配置文件也不仅仅局限于xml和java特性文件properties.更是支持json和yaml的配置文件. 日志的使用在我们日常开发中经常用到.也有很多的高手遇到过日志死锁问题.在2.0中引入了异步日志处理.死锁问题得以解决. 好吧,介绍了这么多,进入它的helloworld吧. 今天看看它的简单配置.配置输出到console的日志记录器,并且为info级别的输出.

Log4j 2.0在开发中的高级使用详解—默认级别(二)

Log4j 经过几年的发展之后,终于迎来了它的姊妹版本--Log4j 2.0 .在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包-Log4j.重大的升级必须带来重大的特性.对于2.0的颠覆性特性,我们将在之后一一讲解.今天我们就来看它的特性之一,默认级别. 在使用log4j 1.x当中,我们都需要自己提供它的配置文件.如果不提供就会报错,在2.0的版本当中,配置文件已经不是必须的了.至于我们没有提供它的配置文件,它会默认的打

Log4j 2.0在开发中的高级使用详解(一)

Log4j终于迎来了首个apache版本.Log4j 2 是 Log4j 的升级版本,该版本比起其前任来说有着显著的改进,包含很多在 Logback 中的改进以及Logback 架构中存在的问题. 这是 Log4j 2 的首次发行的版本,值得关注的改进包括: API 分离 – Log4j 的 API 和其实现进行分类(注:我讨厌这样,本来一个jar包搞定的,要变成好几个,跟 slf4j 似的的) 为日志审计而设计,与 Log4j 1.x 和 Logback 不同的是 Log4j 2 将不会在重新

Log4j 2.0在开发中的高级使用详解—配置简单的文件输出(四)

在log4j 1.x的版本中,我们想将日志输出的文件中,需要很复杂的配置.这点已经在2.0的版本中得到了大大的改善. 简单的配置,以及灵活的应用,已经成为了一种趋势.不管我们以追加的形式写日志文件,还是覆盖的形式,配置他们都是小菜. 还有比如日志文件大小自动分割,自动备份,无死锁,高性能等等.更令人欣喜的是,它支持json格式的配置,加载快,轻巧,异步读写. 好吧,来看它的使用吧. 看配置文件log4j2.xml代码: <?xml version="1.0" encoding=&

Log4j 2.0在开发中的高级使用详解—SocketAppender的远程输出(五)

Log4j2的Appenders充分考虑了日志事件的输出.包装以及过滤转发的可能,包括最基本的输出到本地文件.输出到远程主机, 对文件进行封装.注入,并且还能按照日志文件的时间点.文件大小等条件进行自动封存. 例如,想要将几个不同源的日志汇集到一起,可以用FlumeAppender:想要在LogEvent中注入信息, 可以用RewriteAppender:想要让系统按照设定的时间间隔自动封存日志信息,可以用RollingFileAppender (每隔一定时间自动保存一份新增的日志文件,并按照时

Log4j 2.0在开发中的高级使用详解—读取配置文件(六)

log4j中配置日志文件存放的位置不一定在src下面,即根目录下.这个时候我们需要解决如何加载配置文件的问题.在log4j1.x中解决的方法就比较多了.如:PropertyConfigurator.configure();和DOMConfigurator.configure ();这两种方法读取.而在log4j2.x当中,这两个类都已经不存在了.这个时候我们该如何去加载配置文件呢? 答案也很简单,就是log4j2.x的版本给我提供了ConfigurationSource和Configurator

0. Java开发中的23种设计模式详解(转)

设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样.项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周

ios开发中创建静态库的方法介绍

在进行iOS项目开发时,为了减少项目的编译时间,通常情况下会把项目中的私密内容打包成静态库,或者是把ios项目中变动较少一部分打包成静态库以便提高编译效率,很多iOS初学者对静态库与动态库的区别及创建使用,下面就一起来学习下: (一)iOS静态库.动态库与Framework静态库与动态库的区别: (1)什么是库? 库(Library)直白一点说就是一段编译好的二进制代码,加上头文件就可以供别人使用;(例如: iOS中Objective-C编译下的.h和.m文件,打包静态库后会变为.h和.a文件)

iOS开发中获取文件路径的方法介绍

1.首先要知道什么是沙盒? 沙盒就是每一个应用程序安装完毕之后在本地生成的一个文件夹,就叫做沙盒文件.下面是沙盒的一个路径展示: 可以看到: iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么?下面就详细的一一道来: 分别是:documents,tmp,app,Library. 而获取APP的沙盒的函数是:(NSHomeDirectory(), 手动保存的文件在documents文件里 Nsuserdefaults保存的文件在Prefe