日誌記錄器(Logger)的行爲是分等級的。以下表所示:html
分爲OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定義的級別。Log4j建議只使用四個級別,優先級從高到低分別是 ERROR、WARN、INFO、DEBUG。經過在這裏定義的級別,您能夠控制到應用程序中相應級別的日誌信息的開關。apache
在這裏說明一下,若是 啓動程序 出現app
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.maven
那麼這時候 只要 在 maven 裏面 導入 debug
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.21</version>
</dependency>日誌
便可解決,其實能夠忽略掉,對咱們使用 通常的 log4j 功能沒有影響,導入 log4j包便可的。code
下面重點來了,是個人配置文件:htm
log4j.properties 配置文件說明get
:io
log4j.appender.encoding = UTF-8
#log4j.rootLogger=INFO,CONSOLE,APPLOG,ERROR,ERRORLOG
#log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
#log4j.appender.CONSOLE.Target=System.out
#log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
#log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %c %x - %m%n
#log4j.rootLogger=INFO,stdout,debug,info,warn,error
log4j.rootLogger=DEBUG,stdout,debug,info,warn,error
#將內容 輸出到 控制檯,這裏 在 log4j.rootLogger 裏面必須 加上 INFO 或者 DEBUG 或者 WARN 或者 #ERROR 這些內容, 若是不加上的話, 是不會將內容輸出到 控制檯的,只會輸出到 相應的 文件裏面。
# INFO 表明輸出 INFO級別以上的, DEBUG就是 DEBUG以上的 。。。
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
#輸出 debug 級別以上的內容
log4j.logger.debug=debug
log4j.appender.debug=org.apache.log4j.DailyRollingFileAppender
log4j.appender.debug.layout=org.apache.log4j.PatternLayout
log4j.appender.debug.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n
log4j.appender.debug.datePattern='.'yyyy-MM-dd
log4j.appender.debug.Threshold = DEBUG
log4j.appender.debug.append=true
log4j.appender.debug.File=/data/logs/debug.log
#輸出 info 級別以上的內容
log4j.logger.info=info
log4j.appender.info=org.apache.log4j.DailyRollingFileAppender
log4j.appender.info.layout=org.apache.log4j.PatternLayout
log4j.appender.info.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n
log4j.appender.info.datePattern='.'yyyy-MM-dd
log4j.appender.info.Threshold = INFO
log4j.appender.info.append=true
log4j.appender.info.File=/data/logs/info.log
#輸出 warn 級別以上的內容
log4j.logger.debug=warn
log4j.appender.warn=org.apache.log4j.DailyRollingFileAppender
log4j.appender.warn.layout=org.apache.log4j.PatternLayout
log4j.appender.warn.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n
log4j.appender.warn.datePattern='.'yyyy-MM-dd
log4j.appender.warn.Threshold = WARN
log4j.appender.warn.append=true
log4j.appender.warn.File=/data/logs/warn.log
log4j.logger.error=error
log4j.appender.error=org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.layout=org.apache.log4j.PatternLayout
log4j.appender.error.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n
log4j.appender.error.datePattern='.'yyyy-MM-dd
log4j.appender.error.Threshold = ERROR
log4j.appender.error.append=true
log4j.appender.error.File=/data/logs/error.log
這樣就把不一樣日誌級別的內容輸出到 不一樣的 級別文件裏面了。