JavaEE——Log4j

Posted 凯哥学堂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaEE——Log4j相关的知识,希望对你有一定的参考价值。

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

Log4j

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

安装log4j的jar包:

JavaEE——Log4j

引入Apache的jar

JavaEE——Log4j

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

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

Log4j的日志级别:

JavaEE——Log4j

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

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

查看配置文件:

JavaEE——Log4j

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属性在这

JavaEE——Log4j

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

JavaEE——Log4j

访问第二个别名,等于是给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就会换行

JavaEE——Log4j

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

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

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

JavaEE——Log4j

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

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

查看控制台:

JavaEE——Log4j

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

查看log.txt文件:

JavaEE——Log4j

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

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

已经创建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——Log4j的主要内容,如果未能解决你的问题,请参考以下文章

javaee课程介绍

JavaEE:JavaEE技术组成

什么是JavaEE?

javaEE(MVC)

javaee就是后端吗

javaee项目开发流程