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

网站 栏目google官方入口

网站 栏目,google官方入口,怎样建设单位网站,企业怎么注册163邮箱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.tj-hxxt.cn/news/97122.html

相关文章:

  • 购物网站需要哪些模块苏州搜索引擎优化
  • 做北京塞车网站长春seo按天计费
  • 做轻淘客网站要多大的空间北京网站制作推广
  • 网站建设报价方案对比新网站推广最直接的方法
  • 桂林做网站公司有哪些太原关键词排名推广
  • 网站开发需要的工具网站建设开发公司
  • dedecms wap网站模板下载西点培训班一般要多少学费
  • 好玩有趣的网站房地产估价师考试
  • 独山县哪里有做网站的广州网络营销运营
  • 自己做的导航网站品牌广告投放
  • 企业商城网站建设网站友链查询源码
  • 赣州市南康区建设局网站真正免费的网站建站平台有哪些
  • 网站模板中文乱码线下推广方式有哪些
  • 建网站 行业 销售额搜索引擎seo是什么
  • 北京手机网站制作多少钱谷歌推广优化
  • 南庄做网站培训机构查询网
  • 使用h5做的学习网站源码天津百度整站优化服务
  • 中华人民共和国城乡和住房建设部网站微营销
  • 网站建设常用英语seo简介
  • 手机ps软件如何做ppt下载网站国际实时新闻
  • 未来做那些网站致富app引流推广方法
  • 做网站售后几年百度云搜索引擎入口官方
  • 电商运营的核心公式谷歌网站推广优化
  • wordpress学校站模板seo学院培训班
  • 阿拉善盟网站制作佛山网站建设
  • 杭州网站关键词优化百度第三季度财报2022
  • 对酒店网站建设的意见线上产品推广方案
  • 山东网站建设团队竞价推广工具
  • 自己怎样制作公司网站推广软文案例
  • 网站更换模板济宁百度推广公司有几家