凯哥学堂

搜索

凯哥学堂

JavaEE——Log4j

2018-10-23 18:18| 发布者: 可可| 查看: 3| 评论: 0

凯哥学堂 首页 资讯 学习笔记 JavaEE 查看内容

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。

Log4j

Java的日志输出插件,这个日志输出的优势在哪里呢?可以定义输出的格式,可以定义输出的文件类型,还支持很多其他配置。此日志输出非常强大

安装log4j的jar包:

image

引入Apache的jar

image

获得log4j对象,Logger.getLogger(类.class)传入类的class,为什么要将class传递过去?

在后面可以作为数据的收集源进行。比如获得这个类全路径等

Log4j的日志级别:

image

这就是logger的几个不同的输出方法

Log4j还需要配置文件说明,才能够使用。否则会出现log4j缺少配置文件,不能使用。配置文件的名字规定:log4j.properties

查看配置文件:

image

Log4j.rootLogger=info 定义日志的输出级别

Log4j总共有6种日志级别Info,error,fatal,debug。每个日志级别之间,有着一定的区别。比如:

info级别会输出:info,error,fatal,但不会输出debug信息
Debug级别会输出:info,error,fatal,debug

其他的级别又稍低,输出的较少。

这个rootLogger配置的什么级别就只输出这个级别及在这级别范围内的日志。这个指的是logger.info()或.debug()。这里配置info,会输出info,error,fatal但不会输出debug

rootLogger=级别,后面是别名。给日志级别配置多个别名,则这个级别可以以多个不同的形态输出日志

Log4j.appender.c .c等于是访问info,等于是定义这个info输出是控制台输出。
Log4j.appender.c.Target 设置目标的输出流,这里是out输出流
Log4j.appender.c.layout 设置输出的样式

这个target属性是哪里来的?点开控制台类,这个log4j.appender.c.target属性在这

image

至于他们的配置类,都在org.apache.log4j.下

image

访问第二个别名,等于是给info日志级别配置第二种日志输出形态

Log4j.appender.f 日志的输出形式,FileAppender设置是输出在文件上
Log4j.appender.f.File 日志输出的文件在哪里,没有路径就是当前路径,没有文件就创建
Log4j.appender.f.Append 日志是否追加,如果不设置是覆盖
Log4j.appender.f.layout 日志的输出样式,PatternLayout自定义样式
Log4j.appender.f.ConversionPatter 定义的日志样式,使用通配符定义

常用的几个通配符:
%d:输出日志的日期,默认格式:2018-10-13 21:01:33,798 当使用%d{yyyy-dd E}在%d{}括号中可以自定义格式,但使用{}则默认%d格式就没了,所以%d %d{E}保留%d的格式,在追加E格式

%c:输出类的全名
%t:输出产生该日志事件的线程名
%l: 输出日志事件的发生位置,包括类名,发生的线程,以及在代码中的行数
%L:输出时代码中的行号
%n:碰到%n就会换行

image

访问第三个别名,等于是给info日志级别配置第三种日志输出形态

Log4j.appender.h 日志的输出形式,FileAppender设置是输出在文件上
Log4j.appender.h.File 日志输出的文件在哪里,没有路径就是当前路径,没有文件就创建
Log4j.appender.h.Append日志是否追加,如果不设置是覆盖
Log4j.appender.h.layout 日志的输出样式,HTMLLayout html网页格式

当配置号文件后,就可以使用log4j了,查看整个配置文件信息:

image

如果文件配置出错了,或文件不存在,则log4j就会初始化错误,无法运行

这里配置了3种输出,控制台默认样式输出,文件的自定义样式输出,HTML样式输出

查看控制台:

image

这就是控制台配置,也是默认输出样式

查看log.txt文件:

image

工程中已经出现log.txt了。第一排是%l日志事件发生的位置。第二排是%d %d{E}日期样式

查看logH.html文件,ctrl+alt+f12打开文件:

image

已经创建logH.html文件了,按照html格式输出了,里面输出的是日志以及HTML代码

Log4j的配置格式基本如下:

Log4j.appender.级别=输出格式 控制台ConsoleAppender,文件FileAppender
Log4j.appender.级别.Target=输出的目标 定义以什么样的目标输出,out或error
log4j.appender.级别.layout=样式 3种样式,默认格式,HTML格式,自定义格式(%d%l..)

如果要输出在文件还需要配置:

log4j.appender.级别.File=文件路径 要输出的文件路径,没有文件会自行创建
log4j.appender.级别.Append=true|false 设置是否追加,追加或覆盖

如果是自定义格式还需要配置:

log4j.appender.级别.layout.ConversionPattern={%l} %n [%d %d{E}] %n

ConversionPattern配置通配符,通配符就是配置输出的格式,以什么样的格式输出

输出HTML,也是Log4j.appender.级别=输出格式,设置输出在文件中,不管是将样式换成HTML样式即可。因为HTML也是文件

Log4j日志输出插件,可以定义多样化输出格式,除了控制台还能输入在文件内,还能定制格式。Log4j为程序日志追踪提供了很大的帮助。

日志输出样式可定制。输出的种类(控制台,文件)可选择。可持久化,保存在磁盘中。为程序日志追踪提供帮助。


上一篇:JavaEE——Junit

关注我们


微信

微博

QQ