Log4J

1. Log4J概述

1.1. Log4J是什么

Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

1.2. 为什么要使用Log4J框架

问题:我们直接使用System.out.println就可以将调试信息输出,为什么需要使用Log4J来编写编写日志信息呢?

答:Log4J框架的功能更加强大,注意表现为一下三点

  1. 可以通过配置实现不仅仅在控制台输出到控制台,也可以输出到文件

  2. 可以通过日志级别指定输出日志

  3. 可以通过参数指定输出日志的格式

1.3. 包说明

1.3.1. 下载路径

下载路径:<u>http://logging.apache.org/log4j/1.2/download.html</u>

1.3.2. 目录说明

image.png

1. 配置Log4j

Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。

1.1. 配置文件

Log4J配置文件的基本格式如下:

image.png

其中 [level] 是日志输出级别,共有5级:


image.png

Appender 为日志输出目的地,Log4j提供的appender有以下几种:


image.png

Layout:日志输出格式,Log4j提供的layout有以下几种:


image.png

打印参数: Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,如下:


image.png

2.2.在代码中初始化Logger
1)在程序中调用BasicConfigurator.configure()方法:给根记录器增加一个ConsoleAppender,输出格式通过PatternLayout设为"%-4r [%t] %-5p %c %x - %m%n",还有根记录器的默认级别是Level.DEBUG.

2)配置放在文件里,通过命令行参数传递文件名字,通过PropertyConfigurator.configure(args[x])解析并配置;
3)配置放在文件里,通过环境变量传递文件名等信息,利用log4j默认的初始化过程解析并配置;
4)配置放在文件里,通过应用服务器配置传递文件名等信息,利用一个特殊的servlet来完成配置。

  1. 为不同的 Appender 设置日志输出级别:
    当调试系统时,我们往往注意的只是异常级别的日志输出,但是通常所有级别的输出都是放在一个文件里的,如果日志输出的级别是BUG!?那就慢慢去找吧。
    这时我们也许会想要是能把异常信息单独输出到一个文件里该多好啊。当然可以,Log4j已经提供了这样的功能,我们只需要在配置中修改Appender的Threshold 就能实现,比如下面的例子:

[配置文件]


image.png

[代码中使用]


image.png

运行一下,看看异常信息是不是保存在了一个单独的文件error.log中

Log4j2 ,因为log4j的配置文件是Properties的。工具无法提升的它的标签。Log4j2注意就是将配置文件修改为XML的!!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 5,068评论 0 6
  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 5,126评论 1 13
  • 一、Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layo...
    默默守护阅读 1,939评论 2 8
  • from:https://www.cnblogs.com/ITtangtang/p/3926665.html一、L...
    enshunyan阅读 3,349评论 0 0
  • 娱乐界有邓超,科技界有小米。都是行业的逗比,当然也很火。 小米最新一轮融资额,凭借450亿美元的估值,小米顺利晋升...
    易拥阅读 2,928评论 16 34