当前位置: 首页 > news >正文

深圳华丰大厦网站建设大岭山镇做网站

深圳华丰大厦网站建设,大岭山镇做网站,天津建设工程信息网咨询电话,大气企业网站源码logback有两种过滤器,一种是context中的过滤器叫TurboFilter,是一个全局的过滤器,会影响所有的日志记录。另一种是Appender中的过滤器,只对所在的append有效。两者大同小异,这里我们以Appender的过滤器为例。 &#x…

logback有两种过滤器,一种是context中的过滤器叫TurboFilter,是一个全局的过滤器,会影响所有的日志记录。另一种是Appender中的过滤器,只对所在的append有效。两者大同小异,这里我们以Appender的过滤器为例。

(一)自定义一个过滤器

我们先实现一个LevelRangeFilter,目的是对日志区间进行过滤,只有在[minLevel,maxLevel)中的日志事件才允许输出到日志文件中,如下:

package com.mall.common.log;import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.filter.AbstractMatcherFilter;
import ch.qos.logback.core.spi.FilterReply;/*** @author Lft* @since 2024/12/30 21:49*/
public class LevelRangeFilter extends AbstractMatcherFilter<ILoggingEvent> {Level minLevel;Level maxLevel;@Overridepublic FilterReply decide(ILoggingEvent event) {if (!isStarted()) {return FilterReply.NEUTRAL;}if (minLevel == null) {if (!event.getLevel().isGreaterOrEqual(maxLevel)) {return onMatch;} else {return onMismatch;}} else if (maxLevel == null) {if (event.getLevel().isGreaterOrEqual(minLevel)) {return onMatch;} else {return onMismatch;}}if (event.getLevel().isGreaterOrEqual(minLevel) && !event.getLevel().isGreaterOrEqual(maxLevel)) {return onMatch;} else {return onMismatch;}}public void setMinLevel(Level minLevel) {this.minLevel = minLevel;}public void setMaxLevel(Level maxLevel) {this.maxLevel = maxLevel;}public void start() {if (this.minLevel != null || this.maxLevel != null) {super.start();}}
}

过滤器的过滤方法decide很简单,只是对日志事件的级别进行判断,是否在[minLevel,maxLevel)进行判断,支持[,maxLevel)以及[minLevel,)。

几个注意事项:

(1)过滤器必须实现Filter接口,这里建议继承AbstractMatcherFilter

(2)minLevel和maxLevel这两个属性是自定义的,需要在xml配置文件中配置,那么需要提供set方法,以便xml解析时能够通过隐式规则进行设置。

(3)提供start方法,更符合它的设计理念。

(二)xml配置文件配置过滤器

<configuration scan="true" scanPeriod="1 minute" debug="true"><!--<turboFilter class=""/>--><!-- Appenders --><appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern></encoder></appender><appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>logs/logback.log</file><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>logs/logback.%d{yyyy-MM-dd}.log</fileNamePattern><maxHistory>30</maxHistory> <!-- 保留最近30天的日志文件 --></rollingPolicy><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern></encoder></appender><appender name="impossible" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>logs/impossible.log</file><rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"><fileNamePattern>impossible.%i.log.zip</fileNamePattern><minIndex>1</minIndex><maxIndex>3</maxIndex></rollingPolicy><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><maxFileSize>5MB</maxFileSize></triggeringPolicy><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} %msg%n</pattern></encoder><filter class="com.mall.common.log.LevelRangeFilter"><minLevel>WARN</minLevel><maxLevel>ERROR</maxLevel><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter></appender><logger name="impossible" additivity="false"><appender-ref ref="impossible"/></logger><!-- Root Logger --><root level="Info"><appender-ref ref="CONSOLE"/><appender-ref ref="ROLLING"/></root>
</configuration>

过滤器配置日志级别是[WARN,ERROR),所以只会输出WARN级别日志。

使用如上测试程序,运行如下:

ps:日志过滤器如何生效的源码,在上一篇《logback日志框架源码分析》中的第四节-打印日志中有详细介绍,想了解的可转到那篇进行了解,这里不再重复介绍

http://www.yayakq.cn/news/537233/

相关文章:

  • 企业网站属于广告吗wordpress 绑定手机
  • 如何招聘软件网站开发人员一个网站建设都需要什么
  • 网站建设零基础自学视频教程好看的美食怎么做视频网站
  • 怎样在网站上做有效的广告投放wordpress手机ui
  • 泸州工投建设集团有限公司网站网页源码提取工具
  • 提供郑州网站建设做电商宠物带哪个网站最好
  • 外贸网站哪家做的好整合营销推广策略
  • 做网站要会哪些知识爬取漫画数据做网站
  • 做球形全景的网站企业管理考研
  • 成都科技网站建设哪里有wordpress 酒店主题
  • 本地网站建设视频教程wordpress 群
  • 建设服装网站目的三合一网站建设平台
  • 建设飞鹰摩托车官方网站宁都网站建设
  • 优秀个人网站主页免费深圳企业名录
  • 美橙网站建设广州建设网站公司哪个济南兴田德润有活动吗
  • win2008怎么做网站福田网站建设龙岗网站建设龙岗网站建设龙岗网站建设
  • 买拆车件上什么网站域名访问网站入口
  • 做免费看电影的网站不违法吗wordpress段落
  • 什么网站比较好外贸平台网站有哪些
  • 怎么做cpa网站深圳龙华观澜网站建设公司
  • 宁波网站推广宣传公司排名男装定制品牌哪个好
  • 外贸网站建设 杭州大学院系网站建设
  • 两台电脑一台做服务器 网站深圳市建设交易中心网站首页
  • 建设银行网站下载中心竞价推广平台有哪些
  • 网站建设网站徒手整形怎么免费创建网站
  • 中山网站建设优化重庆专业网站推广报价
  • 国外 网站源码网站建设与设计ppt模板
  • seo综合查询站长工具关键词wordpress 手册 插件
  • 网上装修公司网站策划书企业员工餐解决方案
  • 卡密网站怎么做的WordPress菜单调用不出