普通的java项目中,可以把log4j.properties配置文件中放到src目录下。
日志等级:从小到大
DEBUG(调试),INFO(信息),WARN(警告),ERROR(错误),FATAL(重大错误,会导致程序直接中断)
例如你的日志等级设定为INFO,那么只会显示INFO等级和比其高等级的日志,而不会显示DEBUG等级的日志。
logj.rootLogger=[level],appenderName,appenderName,……
appenderName表示日志输出的地方(只是一个别名,具体的地方要在下面进行配置),可以输出到多个地方,其中 stdout 表示标准输出(输出到控制台)。
设置日志的输出地方
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(设置日志文件的最大尺寸)
org.apache.log4j.WriterAppender(将日志信息以流的方式发送到任意指定的地方)
配置文件
###配置根Logger###
log4j.rootLogger=debug,stdout,info,debug,warn,error
###输出到控制台###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern= [%d{yyyy-MM-dd HH:mm:ss a}]:%p %l%m%n
log4j.appender.debug=org.apache.log4j.DailyRollingFileAppender
log4j.appender.debug.DatePattern=’_‘yyyy-MM-dd’.log’
log4j.appender.debug.File=E:/logs/debug.log
log4j.appender.debug.Append=true
log4j.appender.debug.Threshold=DEBUG
log4j.appender.debug.layout=org.apache.log4j.PatternLayout
log4j.appender.debug.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss a} [Thread: %t][ Class:%c >> Method: %l ]%n%p:%m%n
log4j.appender.warn=org.apache.log4j.DailyRollingFileAppender
log4j.appender.warn.DatePattern=’_‘yyyy-MM-dd’.log’
log4j.appender.warn.File=E:/logs/warn.log
log4j.appender.warn.Append=true
log4j.appender.warn.Threshold=WARN
log4j.appender.warn.layout=org.apache.log4j.PatternLayout
log4j.appender.warn.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss a} [Thread: %t][ Class:%c >> Method: %l ]%n%p:%m%n



