日志框架汇总
-
日志门面:self4j
self4j 为用户提供了日志的统一api,程序中可以使用这些api进行日志输出,然后只用再程序中引入具体的日志实现即可。 -
self4j+logback:
作为时下最热门的日志组合之一,我们该如何使用呢?- SpringBoot项目:
a. 引入starter:
b. 在resources目录下添加 logback.xml<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- 配置集中管理属性--> <!--日志输出格式--> <property name="pattern" value="[%-5level] %d{HH:mm:ss} %c %M %L --- %m%n"/> <!--日志文件保存路径--> <property name="log_dir" value=".logs"/> <!--root logger 默认debug级别--> <root level="INFO"> <appender-ref ref="rollingFile"/> <appender-ref ref="console"/> </root> <!-- 配置控制台日志输出的 appender --> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <!-- 日志消息格式配置--> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>${pattern}</pattern> </encoder> </appender> <!-- 输出到日志文件的 appender 日志拆分--> <appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 日志文件保存路径--> <file>${log_dir}/model/model.log</file> <!-- 日志消息格式配置 --> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>${pattern}</pattern> </encoder> <!-- 指定拆分规则--> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 按照时间节点每天 进行拆分之后的命名 model-2020-02-02.log --> <fileNamePattern>${log_dir}/model/model-%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>10</maxHistory> </rollingPolicy> </appender> </configuration>
- SpringBoot项目: