logback配置文件配置日志

Posted FreeFly辉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了logback配置文件配置日志相关的知识,希望对你有一定的参考价值。

仅为方便新建项目直接复制,非教学,用到的自取

maven依赖

 <!--@Slf4j 注解日志引入依赖-->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.3</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.26</version>
        </dependency>

logback.xml

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

  <!--日志前缀名-->
  <contextName>server</contextName>
  <!--滚动记录文件 根据时间 -->
  <appender name="timeRollFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <encoder>
      <pattern>%cn -%.-1p %d{HH:mm:ss} [%8logger{26}] - %message%n</pattern>
      <charset>UTF-8</charset>
    </encoder>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <fileNamePattern>log/%d{yyyy_MM_dd}-server.log</fileNamePattern>
      <maxHistory>30</maxHistory>
    </rollingPolicy>
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
      <level>info</level>
    </filter>
  </appender>

  <!--输出到控制台 -->
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%cn -%.-1p %d{HH:mm:ss} [%8logger{26}] - %message%n</pattern>
    </encoder>
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
      <level>warn</level>
    </filter>
    <target>
      System.out
    </target>
  </appender>

<!--root 相当于 根 logger标签,捕获所有logger指定的以及能检测到@sl4j-->
  <root level="debug">
    <appender-ref ref="timeRollFile"/>
    <appender-ref ref="STDOUT"/>
  </root>
<!--  logger标签单独指令某个 类或包下的日志级别,引入第三放jar包,无法手动加注解时用这个-->
  <logger name="com.zhishi.wcs.dal.respository" level="debug" addtivity="false" ></logger>


  <!--    输出日志时,过滤日志级别,这里设置过滤 info以上才输出到文件-->
  <!--    <filter class="ch.qos.logback.classic.filter.LevelFilter">-->
  <!--      <level>info</level>-->
  <!--    onMatch 匹配等级时处理方式 ACCEPT 表示接受 DENY 表示拒绝-->
  <!--      <onMatch>ACCEPT</onMatch>-->
  <!--    onMismatch 不匹配等级时处理方式 ACCEPT 表示接受 DENY 表示拒绝-->
  <!--      <onMismatch>DENY</onMismatch>-->
  <!--    </filter>-->

<!--  onMatch和onMismatch都有三个属性值,分别为Accept、DENY和NEUTRAL-->
<!--onMatch表示匹配 <level>标签中级别时的处理方式-->
<!--onMismatch表示不匹配 <level>标签中级别时的处理方式-->
<!--  Accept表示对应情况打印,DEBY表示对应情况不打印,NEUTRAL表示由下一过滤器处理,翻译一下单词就知道啥意思了-->
<!--  此三个属性仅再 <filter class="ch.qos.logback.classic.filter.LevelFilter">下设置生效-->
</configuration>

新建logback.xml文件放入以上内容,放到以下位置,使用时注意
filter标签中选择的类,这里放了

<filter class="ch.qos.logback.classic.filter.LevelFilter">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">

注意区分使用

以上是关于logback配置文件配置日志的主要内容,如果未能解决你的问题,请参考以下文章

日志框架之Logback的使用与详细配置

Spring Boot配置保存日志文件

logback 异步日志配置

logback.xml参考配置模板

logback配置指定类日志输出到指定文件夹

如何在logback日志配置文件中配置相对路径