log4j 配置文件 常规使用 以及 按照不一样级别打印到不一样的文件

日志记录器(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

 

这样就把不一样日志级别的内容输出到 不一样的 级别文件里面了。

相关文章
相关标签/搜索