log4j构成:日志信息的优先级(error,warn,info,debug由高到低),日志信息输出目的地(打印到控制台,还是文件)日志信息输出格式。
log4j使用properties配置文件配置环境:
解决properties文件在eclipse中显示中文注解乱码问题:
安装properties editor eclipse插件:
log4j配置文件详解:
### log4配置文件 ###
log4j.rootLogger = debug,stdout,D,E
#指定日志的输出级别,与目的地。日志级别:error,warn,info,debug。指定为info:则error,warn,info会输出。stdout,D,E 是输出目的地appender#
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
#指定stdout的输出是使用consoleAppender类,即输出到控制台#
log4j.appender.stdout.Target = System.out
#使用system.out输出#
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
#输出布局 org.apache.log4j.PatternLayout 灵活指定布局模式#
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
#conversion转换pattern模式----------输出的日志格式#
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = F://logs/log.log
#file= 指定消息输出到那个文件#
log4j.appender.D.Append = true
#append=true日志信息添加到指定文件中。 append=false日志信息会覆盖文件的内容
log4j.appender.D.Threshold = DEBUG
#Threshold(指定日志输出的最低级别)#
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =F://logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
#log4j。rootLogger对整个项目起作用,对某个包配置日志输出:log4j.logger.com.cn.mapper= debug
#com.cn.mapper是包名#
#log4j.appender.xx= 指定输出方式:org.apache.log4j.ConsoleAppender(控制台)、org.apache.log4j.FileAppender(文件)、org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件) 、org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件
#log4j.appender.xx.layout=指定日志格式布局。org.apache.log4j.HTMLLayout(以HTML表格形式布局)、org.apache.log4j.PatternLayout(可以灵活地指定布局模式) 、org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串) 、org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
参考:https://blog.youkuaiyun.com/qq_37635373/article/details/92584970
Info:调应用程序的运行过程。
warn :潜在错误
error:发生的错误
SSM项目如何使用日志:
参考:https://www.cnblogs.com/a8457013/p/7909780.html
一,maven项目引入log4j相关的依赖:
二,log4j.properties配置文件:
log4j.rootLogger=INFO,console
#项目打印日志信息的级别是info,将不会打印debug信息
log4j.logger.org.mybatis =DEBUG
log4j.logger.com.taotao.mapper=DEBUG
#log4j.logger.xxx设置个别的日志级别为debug
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.encoding=UTF-8
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%l] - [%p] %m%n
#mybatis显示SQL语句日志配置
#log4j.logger.org.mybatis=DEBUG
#log4j.logger.com.itzixi.mapper=DEBUG
三,sqlMapConfig.xml中设置日志为log4j:
四,web.xml中加载log4j:
<!-- 加载log4j -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:resource/log4j.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
测试:打印出相关日志