log4j
- concept;features;limits about logging
Logging是一个调试程序最基本的方法。被当作一个审计工具。
1 Debugger在多线程和分布式的环境中并不总是可用的。2 Debugger的信息是临时的,而Logging记录下来的信息是永久的。
1 Logging会影响程序的性能,降低程序的执行速度。2 需要在程序中编写额外的代码记录相关的信息。3 如果输出的日志信息很多,从中间找到这些信息也是非常困难的。
-
控制输出(logging语句生失效),输出内容,输出位置,输出格式 三个模块以及模块中的继承关系
- log4j
- Logger
- Logger,Appender和Layout 模块
- DEBUG, INFO, WARN, ERROR 和 FATAL log级别
- 继承关系
1 如果一个logger没有设置level, 那么他将继承上一级logger的level.
2 root logger 在所有logger的顶层. 他将一直存在并且有一个指定的level.
- Appender
- og4j中的实现的 Appenders 可以输出到 console, files, Unix syslog, JMS, NT Event log, SMTP等等。
- 继承关系
1 多个appenders可以同时作用于1个或多个logger。
2 appender继承上一级logger的所有appender。
3 Appender可以通过 additive属性来控制继承关系.
- logout
-
用户可以通过 Layout来控制输出到Appender上的日志的格式。
1 The PatternLayout 指定用户需要的格式以及输出的内容来输出.
2 Logging 可以被表示为HTML或XML的格式.
3 定义一个ObjectRenderer
-
- configuration 配置文件或代码控制 文件格式xml or k=v json
reference:
SHORT INTRODUCTION TO LOG4J: CEKI GÜLCÜ, MARCH 2002
From satrys,
Kristen wang