今天學習了下mybatis,用到了log4j,發現 log4j.rootLogger 配置的 level 會影響到日誌的輸出apache
log4j.properties配置文件mybatis
# Global logging configuration
# 開發環境中,日誌級別設置爲DEBUG;正式環境中日誌級別設置爲INFO或ERROR
log4j.rootLogger=DEBUG, stdout
# MyBatis logging configuration...
# log4j.logger.org.mybatis.example.BlogMapper=TRACE
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
測試類:app
package org.pine.mybatis.first; import org.apache.log4j.Logger; public class LogLevelTest { public static void main(String[] args) { Logger logger = Logger.getLogger(LogLevelTest.class); logger.fatal("致命錯誤"); logger.error("通常錯誤"); logger.warn("出現警告"); logger.info("提示信息"); logger.debug("調試信息"); } }
將日誌級別改成INFO,輸出以下:學習
FATAL [main] - 致命錯誤
ERROR [main] - 通常錯誤
WARN [main] - 出現警告
INFO [main] - 提示信息測試
總結:spa
日誌級別有OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL這7種
OFF:不輸出日誌
ALL:輸出全部日誌
中間5種:
FATAL:致命錯誤,輸出FATAL及以上級別的日誌(FATAL)
ERROR:通常錯誤,輸出ERROR及以上級別的日誌(ERROR,FATAL)
WARN:出現警告,輸出WARN及以上級別的日誌(WARN,ERROR,FATAL)
INFO:提示信息,輸出INFO及以上級別的日誌(INFO,WARN,ERROR,FATAL)
DEBUG:調試信息,輸出DEBUG及以上級別的日誌(DEBUG、INFO,WARN,ERROR,FATAL)
通常開發環境用DEBUG,正式環境用INFO便可~~~debug