log4j 输出级别
fatal(致命信息)>error(错误信息)>warn(警告信息)>info(普通信息)>debug(调试信息)>all(所有)
log4j.propreties
log4j-xx.jar封装后需要用到的配置文件,文件名固定不可修改.
log4j.propreties配置文件的编写
1 log4j.rootLogger=info,console,logfile //若为info则显示info与更高级别的输出信息 console为控制台 logfile文件中 2 3 log4j.appender.console=org.apache.log4j.ConsoleAppender 4 log4j.appender.console.layout=org.apache.log4j.PatternLayout //灵活的表达 5 log4j.appender.console.layout.ConversionPattern=%m [%d{yyyy-MM-dd hh:mm:ss}] %C %L %n //此处ConversionPattern的参数含义见下表 6 7 log4j.appender.logfile=org.apache.log4j.FileAppender 8 log4j.appender.logfile.File=D://a.log //可以自定义文件路径,若不自定义文件路径则在项目根目录下,即src下 9 log4j.appender.logfile.Append=true //是否持续插入内容,若为true则持续向文件中插入信息,若为false则每次覆盖前一次的信息 10 log4j.appender.logfile.layout=org.apache.log4j.PatternLayout 11 log4j.appender.logfile.layout.ConversionPattern=%C %m %n
ConversionPattern的参数含义表
1 格式名 含义 2 %C 输出日志信息所属的类的全名 3 %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28 4 %f 输出日志信息所属的类的类名 5 %L 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行 6 %m 输出代码中指定的信息,如log(message)中的message 7 %n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n” 8 %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推 9 %r 输出自应用启动到输出该日志信息所耗费的毫秒数 10 %t 输出产生该日志事件的线程名
log4j的使用
测试代码
log4j.propreties:
log4j.rootLogger=debug,console,logfile
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%m [%d{yyyy-MM-dd hh:mm:ss}] %C %L %n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=D://a.log
log4j.appender.logfile.Append=true
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%C %m %n
Test.java:
package Ming; import org.apache.log4j.Logger; public class Tset { public static void main(String[] args) { Logger logger =Logger.getLogger(Tset.class); logger.debug("调试信息"); logger.info("正常信息"); logger.error("错误信息"); } }
输出结果:
调试信息 [2019-03-06 04:38:17] Ming.Tset 8
正常信息 [2019-03-06 04:38:17] Ming.Tset 9
错误信息 [2019-03-06 04:38:17] Ming.Tset 10
//数字为行号