/images/avatar.jpg

雨临Lewis的博客

Log4j2中LevelRangeFilter的注意点

LevelRangeFilter的注意点

在log4j2中,LevelRangeFilter的minLevel,maxLevel的配置是和log4j 1.x相反的;minLevel需要配置的是高级别,maxLevel配置的是低级别,如下:

1
<LevelRangeFilter minLevel="fatal" maxLevel="info" onMatch="ACCEPT" onMismatch="DENY"/>

如上边的配置,是打印info到fatal级别的log,如果配置反过来,则不会输出任何log。

如果不配置minLevel、maxLevel、onMatch和onMismatch的值,则会为其设置默认值,在LevelRangeFilter中的源码实现如下:

Log4j.xml中Filter的用法

前言

log4j中常用的Filter分为四种:DenyAllFilter、LevelMatchFilter、LevelRangeFilter、StringMatchFilter。

当appender匹配了某个Filter的时候,就不会继续匹配下一个filter,所以当需要配置多个filter时需要注意先后顺序,这样才能实现需要的效果。

这些filter有个共同的属性AcceptOnMatch,用来控制匹配到的appender是否打印日志。

PostgreSQL - 日期函数汇总

比较两个日期之间的时间差超过N个小时

在PostgreSQL中,两个时间戳相减会得到一个interval类型的结果,如下:

1
2
select now() - '2021-03-28 15:47:07'; --0 years 0 mons 2 days 0 hours 1 mins 15.081206 secs
select '2021-03-28 15:47:07' - now(); --0 years 0 mons -2 days 0 hours -3 mins -17.692835 secs

怎么快速对DB里的所有email进行校验

问题

由于业务上的需求,重新改写了校验email的正则表达式,同时DB里又迁移了其他数据库的数据,现在需要重新对DB里的所有email再校验一次,以排除掉不合法的email。

DB里的数据很多,手动去一个个校验的做法显然是不靠谱的,这种机械的重复性操作,自然是要用程序来解决才是最简易的。

解读ping -n 4 127.1 >nul 2>nul

命令解读

ping是Windows、Unix和Linux系统下的一个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。应用格式是ping空格ip地址,可以附带参数,可以直接在cmd中输入ping然后回车来得到具体的帮助信息。

127.1是127.0.0.1,通常被称为本地回环地址(Loop back address),不属于任何一个有类别地址类。它代表设备的本地虚拟接口,所以默认被看作是永远不会宕掉的接口。在windows操作系统中也有相似的定义,所以通常在安装网卡前就可以ping通这个本地回环地址。一般都会用来检查本地网络协议、基本数据接口等是否正常的。

cmd,bat和dos的区别

区别

dos是磁盘操作系统(Disk Operating System),是个人计算机上的一类操作系统。

bat是DOS命令,在任何dos环境下都可以使用。

bat文件是dos下的批处理文件,批处理文件是无格式的文本文件,它包含一条或多条命令,后缀为.cmd或.bat,在Windows NT系统中,两者没有任何区别。