分类 log4j 下的文章

Appender of Log4j [5]

和网络有关的Appender有:

  • JDBCAppender
  • TelnetAppender
  • JMSAppender
  • SMTPAppender
  • SocketAppender
  • SocketHubAppender
  • SyslogAppender

org.apache.log4j.net包下主要是一些网络相关的类:

Continue Reading...

Appender of Log4j [4]

和网络有关的Appender有:

  • JDBCAppender
  • TelnetAppender
  • JMSAppender
  • SMTPAppender
  • SocketAppender
  • SocketHubAppender
  • SyslogAppender

org.apache.log4j.net包下主要是一些网络相关的类:

Continue Reading...

Appender of Log4j [3]

4.FileAppender

WriterAppender另一个子类为FileAppender,顾名思义,FileAppender用于将LoggingEvent输出到文件中(ConsoleAppender仅为标准输出、标准错误),扩展了用户可以输出日志的范围。FileAppender在WriterAppender基础上,增加的可配置属性有:

  • File: 日志输出所在的文件名
  • Append: 文件写出模式,默认值为true表示在原有文件后追加内容,为false表示流建立时先清空truncate文件原有内容
  • BufferedIO: 文件流写出是否使用缓冲,true表示使用,默认值为false即不使用缓冲
  • BufferSize: 如果文件流写出使用缓冲,缓冲区内存大小,默认8k

Continue Reading...

Appender of Log4j [2]

下面介绍AppenderSkeleton的具体实现类们~
注意,AppenderSkeleton的实现类们会继承AppenderSkeleton可配置的一些属性,介绍具体子类时就不一一体现描述这些AppenderSkeleton父类的属性了。

1.NullAppender

NullAppender重载了doAppend、append方法,函数体都为空,NullAppender并不会将任何LoggingEvent输出,功效类似于linux中的/dev/null,应用于需要使用日志框架但又对到达NullAppender的日志内容不关心的情景。

/**
* Does not do anything.
* */
public void doAppend(LoggingEvent event) {
}

/**
* Does not do anything.
* */
protected void append(LoggingEvent event) {
}

Continue Reading...

Appender of Log4j [1]

本文档使用的Log4j版本为1.2.17

基本感官

Log4j Appender主要用来控制日志信息的输出目的地,这些目的地具体可以是标准输出(ConsoleAppender)、文件系统(FileAppender、DailyRollingFileAppender)、邮件(SMTPAppender)、操作系统日志守护进程(SyslogAppender)、Telnet监听(TelnetAppender)、远程套接字(SocketAppender)、数据库(JDBCAppender)等。除了上面log4j默认支持的Appender实现,用户还可以根据具体需要重写或添加自定义的日志输出实现。

Appender拥有对Layout、ErrorHandler、Filter等log4j核心模块的对象引用,相关实现调用流程一般为:

Continue Reading...