博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
log4j笔记
阅读量:4702 次
发布时间:2019-06-09

本文共 1572 字,大约阅读时间需要 5 分钟。

1、什么是log4j?

Log4j 是Apache为Java提供的日志管理工具。他与System.out.println()的作用相似,用来跟踪、调试、维护程序。

2、让log4j与System.out.println()进行比较

  * 前者专业日志工具

    > 可以随意的指定输出目的地(可以是控制台,文件)

    > 可以灵活控制级别(只输出错误级别的日志,而信息级别的不输出)

    > 可以控制输出的格式!

  * 后者只能输出到控制台!无法控制级别(信息、错误)!

3、什么东西使用了log4j

  * c3p0

  * hibernate

  * spring

4、Log4j中有三大组件

Logger(日志器):用来输出日志消息的类,它可以输出不同级别的消息

Appender(日志输出目标):通常我们希望日志输出到文件中,以及控制台,也可能希望日志输出数据库,该类就表示一个输出的目标

Layout(格式化器):对输出的消息进行格式化,例如在消息中添加日期,以及级别等

5、配置文件

(1)日志级别

在Log4j中日志消息分为五个级别,级别由高到低排列如下:

* FATAL:重大错误,例如系统崩溃;

* ERROR:错误,例如某模块瘫痪;

* WARN:警告,程序的隐患,如果不处理,将来可能就是错误;

* INFO:信息,可以用来查看程序执行的流程;

* DEBUG:调试,用来调试程序的bug。

( 设置日志器的级别为Level.ERROR后,只有高于ERROR级别的日志才能输出)

(2)log4j.properties

把log4j放到项目的src下(即放到classes下),并且命名为log4j.properties,那么log4j会自动加载这个配置文件,这也是我们最为常用的方式

(3)根日志器

在配置文件中,需要配置名为log4j.rootLogger的日志器,它就是根日志器。其他的日志器都是根日志器的子日志器,会继承根日志器的目的地,以及级别等。

log4j.rootLogger=DEBUG,A1     

log4j.appender.A1=org.apache.log4j.ConsoleAppender

log4j.appender.A1.layout=org.apache.log4j.SimpleLayout

* log4j.rootLogger表示根日志器,DEBUG是指定根日志器的输出级别,只要大于等于DEBUG级别的日志就可以输出。A1是说明目的地(Appender)的名称;

* log4j.appender.A1表示目的地,org.apache.log4j.ConsoleAppender表示目的地为控制台目的地,即输出结果在控制台上显示;

log4j.appender.A1.layout表示A1这个目的地的格式化器,org.apache.log4j.SimpleLayout表示简化格式化器

(4)Appender

* ConsoleAppender:向控制台输出日志;

* FileAppender:向文件输出日志

* DailyRollingFileAppender:向文件输出日志,每天一个日志文件;

* RollingFileAppender:向文件输出日志,当文件大小达到指定大小后,生成新文件;

(5)layout

我们常用的格式化器是PatternLayout

* %m:信息本身;

* %c:日志器的名称;

* %d:日期,还可以指定日期的格式,例如:%d{yyyy-MM-dd HH:mm:ss};

* %p:日志级别;

* %n:换行;

* %t:当前线程;

* %l:输出日志的Java类相关信息。

转载于:https://www.cnblogs.com/beanjk/p/11377660.html

你可能感兴趣的文章
CF1086E Beautiful Matrix
查看>>
在单位上班的25条建议(建议收藏)
查看>>
web前端--http协议
查看>>
欧拉定理证明&阶乘的逆元
查看>>
Prime Game Gym - 101981J(网络流/二分图)
查看>>
Teamwork Gym - 101492E (dp)
查看>>
No Link, Cut Tree! Gym - 101484F(dp)
查看>>
Coprimes Gym - 101492C(bitset)
查看>>
Partial Tree UVALive - 7190(完全背包)
查看>>
『深度应用』NLP机器翻译深度学习实战课程·零(基础概念)
查看>>
『开发技术』Windows极简安装使用face_recognition实现人脸识别
查看>>
『深度应用』NLP命名实体识别(NER)开源实战教程
查看>>
『开发技术』GPU训练加速原理(附KerasGPU训练技巧)
查看>>
『深度应用』NLP机器翻译深度学习实战课程·壹(RNN base)
查看>>
『深度应用』一小时教你上手MaskRCNN·Keras开源实战(Windows&Linux)
查看>>
『王霸之路』从0.1到2.0一文看尽TensorFlow奋斗史
查看>>
系统测试中需要注意的点
查看>>
Elasticsearch TermQuery 详解
查看>>
一个困扰了我N久的bug , android.enableAapt2=false 无效
查看>>
查看客户端的IP地址,机器名,MAC地址,登陆名等信息
查看>>