log4j

  • concept;features;limits about logging

Logging是一个调试程序最基本的方法。被当作一个审计工具。

1 Debugger在多线程和分布式的环境中并不总是可用的。2 Debugger的信息是临时的,而Logging记录下来的信息是永久的。

1 Logging会影响程序的性能,降低程序的执行速度。2 需要在程序中编写额外的代码记录相关的信息。如果输出的日志信息很多,从中间找到这些信息也是非常困难的。

  • 控制输出(logging语句生失效),输出内容,输出位置,输出格式 三个模块以及模块中的继承关系

  • log4j
  • Logger
    • LoggerAppenderLayout  模块
    • DEBUG, INFO, WARN, ERROR 和 FATAL  log级别
    • 继承关系

如果一个logger没有设置level, 那么他将继承上一级loggerlevel.

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    可以被表示为HTMLXML的格式.

      3 定义一个ObjectRenderer     

  • configuration   配置文件或代码控制  文件格式xml or  k=v json

 

reference:

SHORT INTRODUCTION TO LOG4J: CEKI GÜLCÜ, MARCH 2002

 

posted on 2017-09-22 23:33  satyrs  阅读(116)  评论(0编辑  收藏  举报

导航