第一步(在项目中导入log4j的包)
第二步(在src下创建log4j.properties)要求文件名必须是log4j.properties也必须在src下
源码
源码
log4j.rootCategory=ERROR, CONSOLE ,LOGFILE
log4j.logger.com.wb.mapper.People=DEBUG
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%C %p %m %n
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=E:/my.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%C %m %L %n
主要修改的是我标注的那四个,下面分别进行解析
-
rootCategory:表示日志信息输出级别和日志信息输出位置其中源码中的 ERROR表示输出级别是ERROR,log4j输出级别分别是
fatal(致命错误)>error(错误)>warn(警告)>info(普通信息)>debug(调试信息)
我们设置的是ERROR,那么小于该级别的是不会输出的
console:则表示在控制台输出
LOGFILE:表示在文件中输出 -
log4j.logger.com.wb.mapper.People=DEBUG
表示对特定的类设置输出信息级别,这个类就是com.wb.mapper.People,当然也可对特定的方法和包设置输出级别
特定的包:log4j.logger.com.wb.mapper=级别
特定的方法: log4j.logger.com.wb.mapper.People.findAll=级别 -
第三个就是指定文件输出的位置,我指定的是E盘下的my.log,注意文件名后缀必须是log
-
第四个就是重点了(表示想要输出的信息,注意是严格区分大小写的)
%C :则表示输出的是 包名+类名
%d:输出的是 时间(可以设置输出样式%d(yyyy-MM-dd HH:mm:ss))
%L:表示输出的 行号
%m:表示想要输出: 想要输出的信息(一般是异常信息)
%n:表示的是 换行