Logback日志框架使用

目录

日志框架使用

导入依赖(maven框架下只用引入以下依赖即可)

配置日志记录器

Logger有三个属性:

在控制器中定义一个测试方法

将日志保存在文件中的操作

附加器(Appender)

常用的附加器

滚动策略有两种:


日志框架使用

导入依赖(maven框架下只用引入以下依赖即可)

<!--    引入logback-classic的依赖-->
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.2.11</version>
    </dependency>

配置日志记录器

日志名称一定是logback.xml

Logger三个属性:
  1. name属性:记录器的名称 
  2. level属性(可选):记录器的级别,允许的级别从低到高,TRACE < DEBUG < INFO <  WARN < ERROR
  3. additivity属性(可选):是否允许叠加打印日志, truefalse
<?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>
<!-- 根记录器 -->
<root level="debug">
<appender-ref ref="STDOUT" />
</root>

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

<!-- controller.TestController记录器 -->
<logger name="controller.TestController" level="error" additivity="false">
<appender-ref ref="STDOUT" />
</logger>
</configuration>

在控制器中定义一个测试方法

@Controller
public class TestController {
//    获取日志记录器
    private Logger logger=LoggerFactory.getLogger(TestController.class);
//    private Logger logger=LoggerFactory.getLogger("controller3");//如果没有该日志记录器,则获取父类级别

    @RequestMapping("/test")
    @ResponseBody
    public String test(){
        //  获取记录日志、
        logger.trace("这是trace级别的日志信息");
        logger.debug("这是debug级别的日志信息");
        logger.info("这是info级别的日志信息");
        logger.warn("这是warn级别的日志信息");
        logger.error("这是error级别的日志信息");
        return "test";
    }


}

以上在运行时,控制台里面会输出对应信息。

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

将日志保存在文件中的操作

附加器(Appender

不同的附加器会将日志 输出到不同的地方 ,比如控制台附加器、文件附加器、网络附加器等等。
常用的附加器
  1. 控制台附加器: ch.qos.logback.core.ConsoleAppender
  2. 文件附加器:     ch.qos.logback.core.FileAppender
  3. 滚动文件附加器: ch.qos.logback.core.rolling.RollingFileAppender

<!-- 文件附加器 -->
<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>

但是,记录的日志将放在同一个文件中,接下来将针对这个问题进行修改。

滚动策略有两种:
1. 基于 时间 的滚动策略 
ch.qos.logback.core.rolling.TimeBasedRollingPolicy
2. 基于 大小和时间 的滚动策略
ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy

 <!-- 滚动文件附加器 -->
    <appender name="ROLLINGFILE"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>E:/ssm1/log_current.log</file>
        <encoder>
            <pattern>%date %level %class %line %msg%n</pattern>
        </encoder>
<!--        基于时间-->
<!--        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">-->
<!--            <fileNamePattern>E:/ssm1/log_%d{yyyy-MM-dd}.log</fileNamePattern>-->
<!--            <maxHistory>30</maxHistory>-->
<!--        </rollingPolicy>-->
<!--        基于大小和时间-->
        <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>

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

银氨溶液

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值