Log4j介绍及使用
Posted 虚白札记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Log4j介绍及使用相关的知识,希望对你有一定的参考价值。
在项目中,不管是开发人员写的代码还是测试人员写的测试代码,都需要通过记录日志来跟踪和定位系统中的问题。
一、log4j简介
log4j是一个日志框架,配置简单使用方便。log4j主要有三个重要的组件
Loggers(记录器):记录日志级别和所属的类;
Appenders (输出源):日志要输出的地方;
Layouts(布局):日志以何种形式输出,日志输出的样式;
1.1Loggers
根logger设置,根logger主要定义log4j支持的日志级别及输出位置。
其语法为:
log4j.rootLogger = [ level ], appenderName, appenderName, ...
level 表示日志记录的优先级,共有5个:DEBUG<INFO<WARN<ERROR<FATAL;
log4j记录日志的规则:只会输出不低于指定级别的日志,如果指定级别为INFO,则只输出INFO级别以上的记录,包含INFO在内
1.2Appender配置信息:
log4j.appender.appenderName = classInfo
appenderName 只是一个标识,命名可以任意,classInfo是日志处理类,主要有下面几种:
org.apache.log4j.ConsoleAppender(日志写到控制台)
org.apache.log4j.FileAppender(日志写到文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
1.3常见的参数
%m 输出代码中指定的日志内容
%p 输出日志的优先级
%c 输出所属的全类名
%n 输出一个换行符,win系统为“/r/n”,Unix平台为“/n”
%d 输出日志的时间
%l 输出日志的发生位置,包括类名、线程、代码的行数
二、log4j.properties配置文件
log4j.rootLogger = DEBUG,console,file
# 控制台(console)
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern = [%p] %d{yyyy-MM-dd HH:mm:ss} method: %l----%m%n
# 日志文件(logFile)
log4j.appender.file = org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File = log/api_auto.log
log4j.appender.file.Append = true
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} method: %l - [ %p ]----%m%n
三、在项目中如何使用log4j
1、引入log4j框架的maven仓库坐标
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
2、导入log4j.properties配置文件
private static Logger logger = Logger.getLogger(Class.class);
以上是关于Log4j介绍及使用的主要内容,如果未能解决你的问题,请参考以下文章