springMVC日志

 简单介绍

Logback是完全实现SLF4J接口API(也叫日志门面)的日志框架。

Logback 的架构非常通用,可以应用于不同的环境。目前logback分为三个模块,logback-core、logback-classic和logback-access。

logback-core 模块为其他两个模块奠定了基础。logback-classic模块原生实现了SLF4J API,因此您可以轻松地在 logback 和其他日志记录框架(例如 log4j 1.x 或 java.util.logging (JUL))之间来回切换。

logback-access 模块与 Tomcat 和 Jetty 等 Servlet 容器集成,以提供 HTTP 访问日志功能

关系图

 LogBack日志框架Jar包

 

logBack介绍

logback 基于三个主要组件: Logger、Appender 和 Layout。这三种类的组件协同工作,使开发人员能够通过日志类型和级别来记录日志,并在运行时控制这些日志的格式和报告位置。

Logger:日志记录器,定义日志内容和日志级别

Appender :附加器,定义日志输出位置,比如控制台,外部文件,数据库等

Layout:定义日志输出内容的格式 

Logger有三个属性: name属性:记录器的名称   level属性(可选):记录器的级别,允许的级别从低到高,TRACE < DEBUG < INFO <  WARN < ERROR additivity属性(可选):是否允许叠加打印日志, true或false

日志记录器(Logger)配置:

logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- 定义附加器 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%date %msg%n</pattern>
        </encoder>
    </appender>


    <!-- 文件附加器 -->
    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>D:/ssm/myLog.log</file>
        <encoder>
            <pattern>%date %level %class %line %msg%n</pattern>
        </encoder>
        <append>true</append>
    </appender>


    <appender name="EXFILE" class="ch.qos.logback.core.FileAppender">
        <file>D:/ssm/myLog.log</file>
        <encoder>
            <pattern>%date %level %class %line %msg%n</pattern>
        </encoder>
        <append>true</append>
    </appender>
    <!-- 滚动文件附加器 -->
    <appender name="ROLLINGFILE"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>D:/ssm/log_current.log</file>
        <encoder>
            <pattern>%date %level %class %line %msg%n</pattern>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>D:/ssm/log_%d{yyyy-MM-dd-HH-mm}.log</fileNamePattern>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
    </appender>

    <!-- 滚动文件附加器 -->
    <appender name="ROLLINGFILE2"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>D:/ssm/current.log</file>
        <encoder>
            <pattern>%date %level %class %line %msg%n</pattern>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>D:/ssm/log_%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <maxHistory>30</maxHistory>
            <totalSizeCap>5GB</totalSizeCap>
            <maxFileSize>1KB</maxFileSize>
        </rollingPolicy>
    </appender>

    <!-- 根记录器 -->
    <root level="debug">
        <appender-ref ref="ROLLINGFILE2" />
    </root>

    <!-- controller记录器 -->
    <logger name="controller" level="info" additivity="false">
        <appender-ref ref="ROLLINGFILE2" />
    </logger>

    <!-- controller.TestController记录器 -->
    <logger name="controller.TestController" level="error" additivity="false">
        <appender-ref ref="ROLLINGFILE2" />
    </logger>
    <!-- controller.TestController记录器 -->
    <logger name="requestTrace" level="info" additivity="false">
        <appender-ref ref="FILE" />
    </logger>

    <logger name="ex" level="error" additivity="false">
        <appender-ref ref="EXFILE" />
    </logger>
</configuration>

 解释说明

在Logback中,日志记录器(Logger)是有层级结构的 

注意:子记录器会继承父记录器中的属性 

Java代码获取日志记录器(Logger)

注意:日志记录器会记录指定Level及以上级别的日志信息 

附加器(Appender): 不同的附加器会将日志输出到不同的地方,比如控制台附加器、文件附加器、网络附加器等等。 常用的附加器

控制台附加器: ch.qos.logback.core.ConsoleAppender

文件附加器:     ch.qos.logback.core.FileAppender

滚动文件附加器: ch.qos.logback.core.rolling.RollingFileAppender

滚动策略有两种:

1. 基于时间的滚动策略    ch.qos.logback.core.rolling.TimeBasedRollingPolicy

2. 基于大小和时间的滚动策略 ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值