Log4j官方文檔翻譯(3、配置)

  以前的章節介紹了log4j的核心組件,本章將會經過配置文件介紹一下核心組建的配置。html

  主要在配置文件中配置log4j的日誌級別,定義appender、layout等。java

  log4j.properties是log4j的配置文件,它採用鍵值對的方式定義。apache

  默認狀況下,logManager對象會在CLASSPATH目錄下尋找log4j.propertiesapp

先看看基本的配置模板

# Define the root logger with appender X log4j.rootLogger = DEBUG, X # Set the appender named X to be a File appender log4j.appender.X=org.apache.log4j.FileAppender # Define the layout for X appender log4j.appender.X.layout=org.apache.log4j.PatternLayout log4j.appender.X.layout.conversionPattern=%m%n

  看看這個配置文件都作了什麼:spa

  • 首先日誌的級別是DEBUG,另外還添加來一個appender,名字是X。
  • 設置appender的名字是X,而且定義該appender的實現爲org.apache.log4j.FileAppender,即文件讀寫方式
  • 爲X設置顯示的方式——layout

真實樣例

# Define the root logger with appender file log4j.rootLogger = DEBUG, FILE # Define the file appender log4j.appender.FILE=org.apache.log4j.FileAppender log4j.appender.FILE.File=${log}/log.out # Define the layout for file appender log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.conversionPattern=%m%n

  上面的配置文件又作了什麼呢?日誌

  • 日誌的root級別爲DEBUG,DEBUG的appender名字是FILE。
  • 設置FILE的實現爲org.apache.log4j.FileAppender,它會把日誌信息寫入日誌目錄中叫log.out的文件。
  • layout的格式定義爲%m%n,意思是每條日誌都會跟隨一個換行符。

  須要注意的是log4j支持UNIX風格的變量引用,好比${variableName}code

Appenders

  log4j提供了多種的Appender對象,用於輸出日誌消息到不一樣的目的地,好比控制檯,文件,系統事件日誌等等。每一個appender對象都有不一樣的配置屬性,這些屬性定義來對象的行爲。htm

  • layout    appender使用這個layout對象轉換日誌信息的格式
  • target    目標多是控制檯、文件、也可能依賴於其餘的appender
  • level    用於設定過濾日誌的級別
  • threshhold    appender能夠設置閾值,與日誌的級別有關。日誌會忽略掉全部低於該級別的日誌
  • filter    過濾器對象可以分析日誌信息,而後決定日誌請求由某個appender處理仍是丟掉

  能夠經過下面的方式,給logger添加appender對象

log4j.logger.[logger-name]=level, appender1,appender..n

  固然若是在XML也能夠經過下面的方式:blog

<logger name="com.apress.logging.log4j" additivity="false">
    <appender-ref ref="appender1"/>
    <appender-ref ref="appender2"/>
</logger>

   若是想在程序中添加appender,則能夠調用下面的方法:

public void addAppender(Appender appender);

  這個addAppender()方法向logger對象中添加appender。

  像例子中展現的,它能夠同時配置多個appender,每一個日誌都會獨立的發送不到不一樣的目的地


  上面只展現來FileAppender的用法,log4j還有下面的appender以供使用:

  • AppenderSkeleton
  • AysncAppender
  • ConsoleAppender
  • DailyRollingFileAppender
  • ExternallyRolledFileAppender
  • FileAppender
  • JDBCAppender
  • JMSAppender
  • LF5Appender
  • NTEventLogAppender
  • NullAppender
  • RollingFileAppender
  • SMTPAppender
  • SocketAppender
  • SocketHubAppender
  • SyslogAppender
  • TelnetAppender
  • WriterAppender

layout

  上面使用過PatternLayout,下面還有其餘的選項:

  • DateLayout
  • HTMLLayout
  • PatternLayout
  • SimpleLayout
  • XMLLayout

 

  不一樣的appenders和layout用法,後續會慢慢更新。

相關文章
相關標籤/搜索