log4j.properties
1、Log4j由三个重要的组件构成:
1、1 日志信息的优先级(
(1)off 最高等级,用于关闭所有日志记录。
(2)fatal 指出每个严重的错误事件将会导致应用程序的退出。
(3)error 指出虽然发生错误事件,但仍然不影响系统的继续运行。
(4)warm 表明会出现潜在的错误情形。
(5)info 一般和在粗粒度级别上,强调应用程序的运行全程。
(6)debug 一般用于细粒度级别上,对调试应用程序非常有帮助。
(7)all 最低等级,用于打开所有日志记录。
补充:这些级别是定义在org.apache.log4j.Level类中,Log4j只建议使用4个级别,优先级从高到低分别是error,warn,info和debug。
通过使用日志级别,可以控制应用程序中相应级别日志信息的输出。例如,如果使用了info级别,
则应用程序中所有低于info级别的日志信息(如debug)将不会被打印出来。
1、2 日志信息的输出目的地(指定日志将打印到控制台还是文件)
1、3 日志信息的输出格式(控制日志信息的显示内容)
2使用java特性文件作为配置文件
2、1配置根Logger,语法为:
#level即日志的最低输出级别
#appenderName指定日志记录输出到那个地方,可同时指定多个输出目的地
log4j.rootLogger=【level】,appenderName,
2、2配置日志信息输出目的地Appender,其语法为:
#设置日志输出的地方
log4j.appender.appenderName=
#以下为可输出的位置 org.apache.log4j.ConsoleAppender(控制台) org.apache.log4j.FileAppender(文件) org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件) org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件) org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
2、3配置日志信息的格式,语法为
#设置日志输出的格式
log4j.appender.appenderName.layout= #日志输出的格式为以下几种 org.apache.log4j.HTMLLayout(以HTML表格形式布局) org.apache.log4j.PatternLayout(可以灵活地指定布局模式) org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串) org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
#设置自定义输出格式
log4j.appender.appenderName.layout=org.apache.log4j.PatternLayout
log4j.appender.appenderName.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
%c 输出日志信息所属的类的全名
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy-MM-dd HH:mm:ss },输出类似:2020-04-17- 16:33:33
%f 输出日志信息所属的类的类名
%l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行
%m 输出代码中指定的信息,如log(message)中的message
%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推
%r 输出自应用启动到输出该日志信息所耗费的毫秒数
%t 输出产生该日志事件的线程名
例