Apache Logging Services Project 日志组件
log4j - Java 语言
log4xx - C++ 语言
log4net - .NET 版本
log4php - PHP 语言
Chainsaw - 日志查看与分析工具
Logger hierarchy (Logger 分层结构)
logger 是有名称的,并且 logger 的名称大小写敏感,遵循分级名称规则。引用Log4j的说明:
Named HierarchyA logger is said to be an ancestor of another logger if its name followed by a dot is a prefix of the descendant logger name. A logger is said to be a parent of a child logger if there are no ancestors between itself and the descendant logger.例如,名称为"com.foo"的logger为名称为"com.foo.Bar"的logger的父亲,同样,"java"为"java.util"的父亲、"java.util.Vector"的祖先。
可以指定logger的日志级别,可取得值为(从低到高):TRACE、DEBUG、INFO、WARN、ERROR、FATAL。
这些常量被定义在org.apache.log4j.Level类中。可以通过继承Level类来定义自己的日志级别,但不建议这样做。
日志级别可以被继承
如果没有为logger指定日志级别,则它将从已指定日志级别的最近的祖先那里继承日志级别。引用Log4j的说明:
Level Inheritance
The inherited level for a given logger C, is equal to the first non-null level in the logger hierarchy, starting at C and proceeding upwards in the hierarchy towards the root
logger.
为确保每一个logger最终都可以有一个日志级别,经常为rootLogger指定一个日志级别。
只有日志请求的级别比logger的日志级别高,日志请求才会被处理。引用Log4j的说明:
Basic Selection Rule
A log request of level p in a logger with (either assigned or inherited, whichever is appropriate) level q, is enabled if p >= q.
This rule is at the heart of log4j. It assumes that levels are ordered. For the standard levels, we have
DEBUG < INFO < WARN < ERROR < FATAL
.
用相同的名称调用Logger.getLogger方法,永远都返回对同一个logger对象的引用。
logger的分层结构与它们创建和配置的先后次序无关,也就是说,"父亲"总能找到它的"子孙"。
Appender 日志输出目的地
Log4j中日志输出的目的地为appender,一个logger可以有多个日志输出目的地,即可以有多个appender。
可以通过Logger类的addAppender(org.apache.log4j.Appender appender)方法来为logger添加appender。
appender具有相加性,引用Log4j的说明:
Each enabled logging request for a given logger will be forwarded to all the appenders in that logger as well as the appenders higher in the hierarchy.
Appender Additivity
The output of a log statement of logger C will go to all the appenders in C and its ancestors. This is the meaning of the term "appender additivity".
However, if an ancestor of logger C, say P, has the additivity flag set to false
, then C's output will be directed to all the appenders in C and it's ancestors upto and including P but not the appenders in any of the ancestors of P.
Loggers have their additivity flag set to true
by default.
分享到:
相关推荐
Log4j2学习笔记,引入log4j2的依赖-log4j2.xml配置模板-application.properties文件配置-使用
分别有disruptor-3.3.4.jar(Log4j2异步日志的底层实现)、log4j-api-2.19.0.jar(log4j门面)、log4j-core-2.19.0.jar(log4j实现)、log4j-slf4j-impl-2.19.0.jar(SLF4J与Log4j绑定)、slf4j-api-1.7.30.jar(SLF...
log4j学习笔记log4j学习笔记log4j学习笔记log4j学习笔记log4j学习笔记log4j学习笔记log4j学习笔记log4j学习笔记log4j学习笔记
Log4j2、Fastjson、Log4j的BurpSuite插件亲测有效,非常好用老版的BurpSuite和新版的都可以使用。祝大家挖洞顺利(工具仅用于学习交流)
Log4j 学习笔记. 1. Log4j的类图 2. Logger:日志写出器 1. Logger的输出方法 2. Logger的命名规则 3. Log level 4. 示例代码 5. 关于logger的两点说明 3. Appender:日志目的地 1. ConsoleAppender 2. ...
Log4J的组件 Log4j有三个主要的组件,分别是loggers,appenders和layouts.这三种类型的部件工作在一起就能允许开发者根据记录信息的类型和级别来记录日志信息,并且在系统运行时能够按照不同的格式将这三类信息存储在...
log4j源码例子,可供大家学习log4j,简单实用易学,eclipse环境,哈哈。
本书的主要内容有: 1.Log4J配置文件的学习 2.Log4J数据库 3.Log4J封装
源码包 log4j 2.11.0 学习专业
Log4j配置资料大全 log4j学习 log4j配置 log4j资料
log4j,log4j,log4j,log4j,log4j,log4j,log4j,log4j,log4j,log4j,log4j,log4j,log4j,log4j,log4j,log4j,log4j,log4j,log4j,log4j,log4j,log4j,log4j,log4j,log4j,log4j,log4j,log4j,log4j,此文档包含了对Log4j的详细...
log4j.rootLogger=INFO,CONSOLE log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender INFO是日志记录的最低等级,必须写,它和比它高的等级会进入日志,如WARN、ERROR、FATAL、OFF。 关于8个日志等级,参考:...
Log4j学习笔记和一套完整定义实例 精辟
不用多说了,经典,保证能学会日志!
log4j详解.doc log4j使用说明.doc log4jAPI.chm log4j配置.txt 深入学习log4j.PDF
当获得了日志记录器之后,第二步将配置Log4j环境,其语法为: BasicConfigurator.configure (): 自动快速地使用缺省Log4j环境。 PropertyConfigurator.configure ( String configFilename) :读取使用Java的...
Log4j整理的3个学习文档,包含Log4j手册.pdf,Log4J.pdf,Log4j+API帮助文档.chm。有需要的可以下载看看
概述了log4j的基本配置信息。很适合初学者学习log4j的配置使用。