Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件等地方,也可以控制每一条日志输出的格式,还可以通过定义每一条日志信息的级别
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
log4j.rootLogger = debug,stdout,D,E
all(全部)<debug(调试)<info(信息)<warn(警告)<error(错误)
B:fatal 指出每个严重的错误事件将会导致应用程序的退出。
C:error 指出虽然发生错误事件,但仍然不影响系统的继续运行。
E:info 一般和在粗粒度级别上,强调应用程序的运行全程。
F:debug 一般用于细粒度级别上,对调试应用程序非常有帮助。
Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。
org.apache.log4j.ConsoleAppender:输出目的地是在控制台
org.apache.log4j.FileAppender:输出目的地是在文件中
org.apache.log4j.RollingFileAppender:输出日志文件,超出给定的文件大小,就新建一个
org.apache.log4j.DailyRollingFileAppender:每天产生一个新的日志文件
org.apache.log4j.WriterAppender:将日志信息以流格式发送到任意指定的地方
SimpleLayout:日志信息的级别和信息字符串
TTCCLayout:日志产生的时间、线程、类别等等信息
log4j.appender.stdout.layout.ConversionPattern= [QC] %p [%t] %C.%M(%L) | %m%n
如果使用pattern布局就要指定的打印信息的具体格式ConversionPattern,打印参数如下:
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL;
%n 输出一个回车换行符,Windows平台为"rn”,Unix平台为"n”;
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy-MM-dd HH:mm:ss,SSS},输出类似:2002-10-18 22:10:28,921;
[QC]是log信息的开头,可以为任意字符,一般为项目简称。
3.当log4j的配置文件在source文件的根目录下,并且文件名为log4j.properties时,项目会自动加载log4j的配置文件,无需认为制定
5.关于sql语句的debug级别的针对性的开启,只是在开发过程中,项目正式上线后,要把debug级别改为info级别 ,从而提高项目性能