logback基础日志配置

目前项目搭建是使用的Spring mvc + hibernate(比较原始,boot后面会尝试)

1.引入日志包

   ch.qos.logback 为logback包

   org.logback-extensions 包用于集成Spring的包

<!-- log begin -->
<dependency>
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-classic</artifactId>
  <version>${log.version}</version>
</dependency>
<dependency>
  <groupId>org.logback-extensions</groupId>
  <artifactId>logback-ext-spring</artifactId>
  <version>0.1.4</version>
</dependency>
<!-- log end -->

备注:网上一些博客有需要引入slf4j包,自己测试写入时没有引入也能使用


2.配置web.xml监听器(集成web项目,logback-config.xml 为指定的配置文件)

<!-- 配置日志logback-->
<!-- logback扩展,监听,用于解决与spring的结合 -->
<listener>
  <listener-class>ch.qos.logback.ext.spring.web.LogbackConfigListener</listener-class>
</listener>
<context-param>
  <param-name>logbackConfigLocation</param-name>
  <param-value>classpath:logback-config.xml</param-value>
</context-param>

3.配置文件(logback-config.xml)

        目前我配置了三种日志输出文件:

        1.file为文件输出,会记录所有日志

        2.error文件输出,记录异常日志(方便错误直接查找和错误监控) 日为单位输出

        3.info文件输出,记录info级别日志  日为单位输出

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">

  <!-- 定义日志文件 输入位置 -->
  <property name="log_dir" value="/Users/LiRui/Desktop/wz/log/test"/>

  <!--时间转换格式-->
  <timestamp key="bySecond" datePattern="yyyyMMdd'T'HHmmss"/>
  <!--控制台输出-->
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
    </encoder>
  </appender>

  <!--滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件-->
  <appender name="ERROR" 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>
    <append>true</append>
    <!--最常用的滚动策略,它根据时间来制定滚动策略,既负责滚动也负责出发滚动-->
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <!--每天生成一个日志文件,保存30天的日志文件。-->
      <fileNamePattern>${log_dir}/ky-error.%d{yyyy-MM-dd}.log
      </fileNamePattern>
      <!--可选节点,控制保留的归档文件的最大数量,超出数量就删除旧文件。-->
      <maxHistory>60</maxHistory>
      <totalSizeCap>3GB</totalSizeCap>
    </rollingPolicy>
    <encoder>
      <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
    </encoder>
  </appender>

  <!-- INFO级别日志 appender -->
  <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <!-- 过滤器,只记录INFO级别的日志 -->
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
      <level>INFO</level>
    </filter>
    <encoder>
      <pattern>%msg%n</pattern>
    </encoder>
    <append>true</append>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <!-- 按天回滚 daily -->
      <fileNamePattern>${log_dir}/ky-info.%d{yyyy-MM-dd}.log
      </fileNamePattern>
      <!--可选节点,控制保留的归档文件的最大数量,超出数量就删除旧文件。-->
      <maxHistory>60</maxHistory>
      <totalSizeCap>3GB</totalSizeCap>
    </rollingPolicy>
    <encoder>
      <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
    </encoder>
  </appender>

  <appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file>${log_dir}/ky-all.log</file>
    <encoder>
      <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
    </encoder>
  </appender>

  <!--设置日志级别-->
  <root level="debug">
    <appender-ref ref="STDOUT"/>
    <appender-ref ref="INFO"/>
    <appender-ref ref="ERROR"/>
    <appender-ref ref="FILE"/>
  </root>
</configuration>

输出文件:

        



其他设置可参考博客:

        https://www.cnblogs.com/gslyyq/p/5256789.html

中文文档参考:

      http://aub.iteye.com/blog/1896611     

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

niubility锐

觉得有用的话鼓励鼓励

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

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

打赏作者

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

抵扣说明:

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

余额充值