日志框架spring
本节主要内容:app
1:常见的几种日志框架框架
2:Logback的使用ide
3:怎么配置info和error级别日志到不一样文件中而且按照日期天天一个文件。spa
以上几个框架能够分类以下:插件
SLF4J和Logback的使用日志
日志级别:code
级别越大越严重。orm
private final Logger logger = LoggerFactory.getLogger(LoggerTest.class);xml
方法二:使用lombok插件:
在pom.xml文件中添加lombok依赖:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
而后再类上面使用@slf4j注解
推荐使用第二种,注解方式。这样就不用再每一个类中添加了。
直接使用字符串+的。若是变量多,+就须要不少了。
方式二:使用占位符的方式。
两个运行的结果:
推荐使用第二种,这样一看及明白。
Logback的配置
两种配置方式:
application.yml和logback-spring.xml
也就是一种基于yml文件一种基于xml文件配置的
来看下项目中常常遇到的日志需求:
方式一:再yml文件中配置
咱们能够看到,logging相关配置还不少的。如console打印的日志格式、日期格式、文件、日志级别、日志最大大小等等。均可以配置的。
如:咱们配置在控制台输出时间-信息换行。这个怎么配置呢?
查看运行结果:
配置日志输出位置:
运行后,能够在C盘下看到一个aa文件夹,打开就是日志文件了。以下图:
默认日志文件名称是spring.log。若是想修改为本身的能够使用file。以下图
运行后:
修改日志级别:
日志级别还能够绑定到指定的类上面。如:
第二种方式:使用xml文件配置
1:控制台输出:
2:根据不一样日志级别输出到不一样日志文件中。文件名带上日期
能够看到,文件滚动方式有不少,能够安装大小和时间、能够按照时间的。以下图:
配置后文件以下:
基于XML配置的全部配置信息:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!-- 控制台输入日志格式配置-->
<appender name="consolelogg" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
%d -%msg%n
</pattern>
</layout>
</appender>
<!-- info日志 天天一个日志文件配置-->
<appender name="infoFileLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>DENY</onMatch>
<onMismatch>ACCEPT</onMismatch>
</filter>
<encoder>
<pattern>
%msg%n
</pattern>
</encoder>
<!-- 配置日志滚动策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 文件路径.文件名称中带有日期-->
<fileNamePattern>c:/aa/info.%d.log</fileNamePattern>
</rollingPolicy>
</appender>
<appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<encoder>
<pattern>
%msg%n
</pattern>
</encoder>
<!--滚动策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--路径-->
<fileNamePattern>c:/aa/error.%d.log</fileNamePattern>
</rollingPolicy>
</appender>
<root level="info">
<appender-ref ref="consolelogg"/>
<appender-ref ref="infoFileLog"/>
<appender-ref ref="fileErrorLog"/>
</root>
</configuration>
各位有什么更好的日志框架介绍下呗