以前的章節介紹了log4j的核心組件,本章將會經過配置文件介紹一下核心組建的配置。html
主要在配置文件中配置log4j的日誌級別,定義appender、layout等。java
log4j.properties是log4j的配置文件,它採用鍵值對的方式定義。apache
默認狀況下,logManager對象會在CLASSPATH目錄下尋找log4j.properties。app
# 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
# 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
上面的配置文件又作了什麼呢?日誌
須要注意的是log4j支持UNIX風格的變量引用,好比${variableName}code
log4j提供了多種的Appender對象,用於輸出日誌消息到不一樣的目的地,好比控制檯,文件,系統事件日誌等等。每一個appender對象都有不一樣的配置屬性,這些屬性定義來對象的行爲。htm
能夠經過下面的方式,給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以供使用:
上面使用過PatternLayout,下面還有其餘的選項:
不一樣的appenders和layout用法,後續會慢慢更新。