Logback日志

1、什么是日志框架

 是一套能实现日志输出的工具包,能够描述系统运行状态的所有时间都可以算作日志

2、日志框架的选择

可以定制输出目标(文件)
可以定制输出格式
可以携带上下文信息
运行时选择性输出
灵活的配置
优异的性能

3、有哪些日志框架

JDK自带的日志框架:JUL
Apache的日志框架:JCL
Log4j
Log4j2
Logback
SLF4j
jboss-logging
日志门面
JCL
SLF4j
jboss-logging
日志实现
Log4j
Log4j2
Logback
JUL

 选择日志框架,无非就是在门面中选一个,在实现中选一个。我们采用排除法:从日志实现来说,JUL虽说是官方的,但是日志功能上的实现太过于简陋,所以排除,jboss-logging自诞生就不是服务大众。
  SLF4j 、 Log4j、Log4j2 、Logback的作者都是同一个人:ceki。
  作者说明,Log4j太烂了,所以才写了Logback,所以排除Log4j。Log4j2从设计上来说很优秀,最大的问题就是太先进,很多框架对其支持程度有限,排除。毕竟作者相同,最后 选择SLF4j 和 Logback,这也是springboot用的日志框架。

日志门面日志实现
SLF4jLogback

4、Logback的配置

 日志的级别:ERROR、WARN、INFO、DEBUG、TRACE

//org.slf4j.event下的日志级别枚举类
public enum Level{
    ERROR(40,"ERROR"),
    WARN(30,"WARN),
    INFO(20,"INFO),
    DEBUG(10,"DEBUG),
    TRACE(0,"TRACE);
    private int levelInt;
    private String levelStr;
    //
}

 我们配置Logback需要配置两个文件,一个是application.properties,另一个是logback-spring.xml。
我们的需求区别infoerror日志,每天产生一个日志文件。在resources目下下创建一个logback-spring.xml,里面可以详细配置我们的日志。

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>

    <!-- 写配置项 -->
    <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>
                %d - %msg%n
            </pattern>
        </layout>
    </appender>


    <!--配置info滚动日志-->
    <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">

        <!--文件过滤掉其他日志级别的日志-->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <!--<onMathch>DENY</onMathch>-->
            <onMismatch>ACCEPT</onMismatch>
        </filter>
        <encoder>
            <pattern>
                %msg%n
            </pattern>
        </encoder>
        <!--按时间滚动-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--配置路径,以时间命名-->
            <fileNamePattern>
                /log/info.%d.log
            </fileNamePattern>
        </rollingPolicy>
    </appender>

    <!--配置error滚动日志-->
    <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--error文件过滤掉其他日志级别的日志-->
        <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>
                /log/error.%d.log
            </fileNamePattern>
        </rollingPolicy>
    </appender>


    <!--引用配置 -->
    <root level="info">
        <appender-ref ref="consoleLog"/>
        <appender-ref ref="fileInfoLog"/>
        <appender-ref ref="fileErrorLog"/>
    </root>

</configuration>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值