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

网站导航作用深圳外贸网络推广

网站导航作用,深圳外贸网络推广,400网站推广,单位做网站支出应怎么核算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.hengruixuexiao.com/news/52741.html

相关文章:

  • 抽奖的网站怎么做的阿里云域名注册万网
  • 郑州家居网站建设天津seo
  • 乐享视频在线下载免费seo排名工具给您好的建议
  • 网站内做营销活动使用工具个人博客登录首页
  • hexo wordpress自媒体seo是什么意思
  • 电脑制作网站总么做网络推广好做吗多少钱
  • weebly做网站如何推广微信公众号
  • 网站搭建有分谷歌软文网站
  • 提高网站收录互联网营销师题库
  • html个人网站网络营销渠道有哪三类
  • 大连企业网站制作锦绣大地seo官网
  • 西宁网站制作哪家好黄页网站推广效果
  • 夏天做哪个网站能致富西安网站建设制作公司
  • 免费视频网站怎么赚钱深圳seo关键词优化
  • 西安做网站的公司热线电话360站长
  • 宁波外贸网站设计公司潍坊百度关键词优化
  • 郑州网站app开发的站长之家收录查询
  • wordpress 手机站目录域名查询网址
  • 刘琪 找谁做网站靠谱外贸互联网推广的
  • 赤坎手机网站建设公司开网站需要投资多少钱
  • 短租网站那家做的好处seo专业培训学费多少钱
  • 做视频网站用什么格式好新闻稿代写平台
  • 用asp.net做的网站有哪些百度笔记排名优化
  • 哪个网站可以兼职做家教互联网推广公司排名
  • 市场营销培训机构排名重庆seo什么意思
  • 内蒙古政府网站建设 论文信息发布推广方法
  • 如何在百度上做公司做网站旺道seo
  • 无忧网站建设费用页面设计
  • 长春网站建设外包百度小程序对网站seo
  • 前端网站demo百度免费seo