1. 程式人生 > >flume中log4j.properties檔案的簡單解析

flume中log4j.properties檔案的簡單解析

在使用flume獲取日誌並存儲的過程中,日誌檔案的具體儲存方案可在log4j.properties檔案中配置,下面簡單解析這個檔案的配置

# Define the root logger to the system property "flume.root.logger".
log4j.rootLogger=${flume.root.logger}
log4j.rootLogger決定使用哪一種日誌處理方式,是一個變數,可在flume啟動命令中配置,如:
-Dflume.root.logger=INFO,console    表示將級別為INFO的日誌輸出到控制檯上
# Stock log4j rolling file appender
# Default log rotation configuration
log4j.appender.LOGFILE=org.apache.log4j.RollingFileAppender
log4j.appender.LOGFILE.MaxFileSize=100MB
log4j.appender.LOGFILE.MaxBackupIndex=10
log4j.appender.LOGFILE.File=${flume.log.dir}/${flume.log.file}
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss,SSS} %-5p [%t] (%C.%M:%L) %x - %m%n
這裡的配置,是將日誌輸出到一個檔案裡,檔案的目錄為${flume.log.dir}/${flume.log.file},可以在命令中配置;生成的檔案的大小可以通過log4j.appender.LOGFILE.MaxFileSize這個引數配置,這裡配置為100M;達到100M之後生成一個新的檔案
# Warning: If you enable the following appender it will fill up your disk if you don't have a cleanup job!
# This uses the updated rolling file appender from log4j-extras that supports a reliable time-based rolling policy.
# See http://logging.apache.org/log4j/companions/extras/apidocs/org/apache/log4j/rolling/TimeBasedRollingPolicy.html
# Add "DAILY" to flume.root.logger above if you want to use this
log4j.appender.DAILY=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.DAILY.rollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.DAILY.rollingPolicy.ActiveFileName=${flume.log.dir}/${flume.log.file}
log4j.appender.DAILY.rollingPolicy.FileNamePattern=${flume.log.dir}/${flume.log.file}.%d{yyyy-MM-dd}
log4j.appender.DAILY.layout=org.apache.log4j.PatternLayout
log4j.appender.DAILY.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss,SSS} %-5p [%t] (%C.%M:%L) %x - %m%n
這裡的配置,是將日誌輸出到一個檔案裡,每天生成一個新檔案,檔案的命名規則也可以在這裡配置
# console
# Add "console" to flume.root.logger above if you want to use this
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d (%t) [%p - %l] %m%n
這裡的配置,是將日誌輸出到控制檯中