Log4J日志组件

简单来说,日志是为了项目后期部署上线后的维护、错误排查!

Log4j( log for java) 开源的日志组件!

使用步骤:

1. 下载组件,引入jar文件log4j-1.2.11.jar

2. 配置 : src/ log4j.properties

3. 使用

例:配置文件

日志输出优先级:ALL< trace 追踪 < debug 调试 < info 正常输出< warn 警告 < error 错误 < fatal 重大错误<OFF

Logger:日志记录器,负责收集处理日志记录     (如何处理日志)Logger命名有继承机制, 根rootLogger

Appender:日志输出目的地,负责日志的输出  (输出到什么 地方)

Layout:日志格式化,负责对输出的日志格式化(以什么形式展现)

一个logger可以对应多个appender,一个appender只能对应一个layout

# 通过根元素指定日志输出的级别、目的地。
# log4j.rootLogger = [ level ] , appenderName1, appenderName2, …
# 级别:info(低于info就不会输出了). 目的地:console与file
log4j.rootLogger=info,console,file

# 设置console
# 设置console的输出类型: 输出到控制台
log4j.appender.console=org.apache.log4j.ConsoleAppender
# 设置console输出的格式:灵活的格式
log4j.appender.console.layout=org.apache.log4j.PatternLayout
# 如果使用pattern布局就要指定的打印信息的具体格式ConversionPattern
log4j.appender.console.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] %l %n%m%n

# 设置file
# 设置file的输出类型: 到达指定大小生成新的
log4j.appender.file=org.apache.log4j.RollingFileAppender
# 文件参数: 指定日志文件路径
log4j.appender.file.File=../logs/MyLog.log
# 文件参数: 指定日志文件最大大小
log4j.appender.file.MaxFileSize=5kb
# 文件参数: 指定产生日志文件的最大数目
log4j.appender.file.MaxBackupIndex=100
# 输出日志格式
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d %c.%M()-%m%n

# 单个jar包记录日志级别配置
log4j.logger.包名=DEBUG

输出类型: log4j.appender.

org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

PatternLayout打印格式: 

%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS}
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。
%m 输出代码中指定的消息
%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%c 输出所属的类目,通常就是所在类的全名
%t 输出产生该日志事件的线程名
%f 输出日志来源



函数调用日志输出

// 基于类的名称获取日志对象
Log log = LogFactory.getLog(类名.class);
//进行默认配置
        BasicConfigurator.configure();
//设置只输出高于DEBUG级别的
        log.setLevel(Level.DEBUG);
// 不同级别的输出提示
        log.trace("跟踪信息");
        log.debug("调试信息");
        log.info("输出信息");
        log.warn("警告信息");
        log.error("错误信息");
        log.fatal("致命信息");
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐