日志是什么:
日志主要的作用是记录程序运行的过程,通过日志方便观察程序的运行状况和运行过程,便于分析程序的执行过程,JDK自带一个日志,但是效果不太好,速度较慢,要写的代码较多
常见的日志工具
- jdk-logging
- log4j :其中commons-logging是规范,log4j是commons-logging的实现
要实现log4j首先需要导入两个依赖:log4j和commons-logging
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
- logback : slf4j是规范,logback是slf4j的实现
需要的依赖是:logback-classic
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
日志中的级别
jdk-logging:
按照从高到底的顺序是: off > SEEVERE > WARNING > INFO > CONFIG > FINE > FINER > FINEST > all
log4j:
从低到高:trace->debug->info->warn->error->fatal
slf4j:
从低到高:trace->debug->info->warn->error
配置文件中的标签
appender:定义日志的目的地,可以写入本地,也可以输出到控制台
encoder:定义日志的输出格式
rollingPolicy:定义回滚策略
fileNamePatter:有新的日志生成,原来的日志名将改变为什么样的
maxFileSize:日志的最大容量
maxHistory:日志的有效期,默认值是一天
filter:日志的过滤等级
level:日志的过滤等级
root:定义一个特殊的日志,是一个全局的日志,不受过滤器的影响