作用:
通过配置文件可以配置日志输出的地点(文件,控制台。。。)与格式。实现日志的灵活配置
步骤:
第一步:配置log4j.properties
Logger:
//定义根logger
log4j.rootLogger=debug, stdout
//
log4j.logger.TestLog4j= , R,stout
log4j.logger.TestLog4j.TestLog4j2=WARN
Appender:
//控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
//文件
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log
log4j.appender.R.MaxFileSize= 100KB
log4j.appender.R.MaxBackupIndex=1
注:只保留MaxBackupIndex个文件,每个文件最大100k,多于的信息将清除比较早的信息
Layout:
//格式输出
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p (%F:%L) [%t] --- %m%n
格式名 含义:
%c 输出日志信息所属的类的全名
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },
输出类似:2002-10-18- 22:10:28
%f 输出日志信息所属的类的类名
%l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行
%m 输出代码中指定的信息,如log(message)中的message
%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推
%r 输出自应用启动到输出该日志信息所耗费的毫秒数
%t 输出产生该日志事件的线程名
log4j.properties配置模型:先定义几个logger,appender。在logger中关联要使用的appender,Layout是具体appender的属性,每个输出点都要配置它的输出格式。
第二步:使用
//获取rootLogger
Logger rootLogger = logger.getRootLogger();
rootLogger.debug("root");
//获取指定名的logger
Logger logger = Logger.getLogger("TestLog4j");
rootLogger.debug("root");
通过配置文件可以配置日志输出的地点(文件,控制台。。。)与格式。实现日志的灵活配置
步骤:
第一步:配置log4j.properties
Logger:
//定义根logger
log4j.rootLogger=debug, stdout
//
log4j.logger.TestLog4j= , R,stout
log4j.logger.TestLog4j.TestLog4j2=WARN
Appender:
//控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
//文件
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log
log4j.appender.R.MaxFileSize= 100KB
log4j.appender.R.MaxBackupIndex=1
注:只保留MaxBackupIndex个文件,每个文件最大100k,多于的信息将清除比较早的信息
Layout:
//格式输出
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p (%F:%L) [%t] --- %m%n
格式名 含义:
%c 输出日志信息所属的类的全名
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },
输出类似:2002-10-18- 22:10:28
%f 输出日志信息所属的类的类名
%l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行
%m 输出代码中指定的信息,如log(message)中的message
%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推
%r 输出自应用启动到输出该日志信息所耗费的毫秒数
%t 输出产生该日志事件的线程名
log4j.properties配置模型:先定义几个logger,appender。在logger中关联要使用的appender,Layout是具体appender的属性,每个输出点都要配置它的输出格式。
第二步:使用
//获取rootLogger
Logger rootLogger = logger.getRootLogger();
rootLogger.debug("root");
//获取指定名的logger
Logger logger = Logger.getLogger("TestLog4j");
rootLogger.debug("root");