slf4j、log4j日志级别与配置_slf4j log level-程序员宅基地

技术标签: java  slf4j  log  注解  xml  logging  log4j  log4j2  

个人能力有限,仅供个人记录与大家思路参考,难免有错误或不当之处,如发现错误之处请指出,谢谢!

日志共有8个级别(优先级从高到低,优先级越高表示过滤的log信息越多,显示的log信息越少):

级别名称 含义 级别
OFF 关闭日志输出 最高
FATAL 输出FATAL及以上级别日志(FATAL)
ERROR 输出ERROR及以上级别日志(FATAL、ERROR)
WARN 输出WARN及以上级别日志(FATAL、ERROR、WARN)
INFO 输出INFO及以上级别日志(FATAL、ERROR、WARN、INFO)
DEBUG 输出DEBUG 以上级别日志(FATAL、ERROR、WARN、INFO、DEBUG)
TRACE 输出TRACE以上级别日志(FATAL、ERROR、WARN、INFO、DEBUG、TRACE)
ALL 输出所有类型日志(ALL、FATAL、ERROR、WARN、INFO、DEBUG、TRACE) 最低

Log4j建议只使用四个级别,优先级从高到低分别是 ERROR、WARN、INFO、DEBUG。  日志记录器(Logger)的行为是分等级的:

 日志记录器(Logger)是日志处理的核心组件。log4j具有5种正常级别(Level)。:

static Level DEBUG 指出细粒度信息事件对调试应用程序是非常有帮助的。
static Level INFO 表明 消息在粗粒度级别上突出强调应用程序的运行过程。
static Level WARN WARN level表明会出现潜在错误的情形。
static Level ERROR ERROR level指出虽然发生错误事件,但仍然不影响系统的继续运行。
static Level FATAL FATAL level指出每个严重的错误事件将会导致应用程序的退出。

另外,还有两个可用的特别的日志记录级别:

static Level OFF 最高等级,用于关闭所有日志记录。
static Level ALL 最低等级,用于打开所有日志记录。

log配置文件主要包含三个节点:Logger、Appender、Layout。

Logger 配置打印日志的级别,输出日志的程序范围,以及关联的Appender
Appender 配置日志的输出形式,输出策略等
Layout 配置每条日志的内容格式

配置log4j.properties文件,示例:

    #配置根节点
    log4j.rootLogger=INFO,Log4jConsole,Log4jFile
    #log不向上层传递
    log4j.additivity.org.appache=false
    #设置变量,保存路径 ${catalina.home}/logs
    logDir=D:/tomcat/logs
     
    #控制台输出
    log4j.appender.Log4jConsole=org.apache.log4j.ConsoleAppender
    log4j.appender.Log4jConsole.Threshold=INFO
    log4j.appender.Log4jConsole.ImmediateFlush=true
    log4j.appender.Log4jConsole.Target=System.out
    #输出格式
    log4j.appender.Log4jConsole.layout=org.apache.log4j.PatternLayout
    log4j.appender.Log4jConsole.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH:mm:ss,SSS}] [%c:%M:%L] %m%n
     
    #文件输出
    log4j.appender.Log4jFile=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.Log4jFile.Threshold=INFO
    log4j.appender.Log4jFile.ImmediateFlush=true
    log4j.appender.Log4jFile.Append=true
    log4j.appender.Log4jFile.File=${logDir}/log4j.log
    log4j.appender.Log4jFile.DatePattern='.'yyyy-MM-dd
    #输出格式
    log4j.appender.Log4jFile.layout=org.apache.log4j.PatternLayout
    log4j.appender.Log4jFile.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH:mm:ss,SSS}] [%c:%M:%L] %m%n

Log4j2过滤日志级别配置

一. 属性详解:onMatch和onMismatch都有三个属性值,分别为ACCEPT(接受)、DENY(拒绝)和NEUTRAL(中立)

onMatch="ACCEPT"匹配该级别及以下级别;
onMatch="DENY"不匹配该级别及以下级别;
onMatch="NEUTRAL" 该级别及以下的,由下一个filter处理,如果当前是最高级别,则表示匹配该级别及以下
onMismatch="ACCEPT" 匹配该级别以上级别;
onMismatch="DENY" 不匹配该级别以上的级别;
onMismatch="NEUTRAL" 该级别及以上的,由下一个filter处理,如果当前是最低级别,则不匹配该级别以上的

二. 单一应用

1. 匹配低于或等于xxx的级别

<ThresholdFilter level="xxx" onMatch="ACCEPT" onMismatch="DENY"/>

2.匹配高于xxx的级别

<ThresholdFilter level="xxx" onMatch="DENY" onMismatch="ACCEPT"/>

三. 组合应用

<ThresholdFilter level="WARN" onMatch="DENY" onMismatch="NEUTRAL"/>
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>


 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_51660523/article/details/122503337

智能推荐

文心一言api接入如何在你的项目里使用文心一言_文言一心api-程序员宅基地

文章浏览阅读7.5k次,点赞6次,收藏47次。基于百度文心一言语言大模型的智能文本对话AI机器人API,支持聊天对话、行业咨询、语言学习、代码编写等功能.您的AppKey和uid是重要信息,请务必妥善保存,避免泄漏!您的AppKey和uid是重要信息,请务必妥善保存,避免泄漏!您的AppKey和uid是重要信息,请务必妥善保存,避免泄漏!AppKey申请通过后,登录。请求方式: POST。_文言一心api

别再用硬编码写业务流程了,试试这款轻量级流程编排框架-程序员宅基地

文章浏览阅读488次。前言在每个公司的系统中,总有一些拥有复杂业务逻辑的系统,这些系统承载着核心业务逻辑,几乎每个需求都和这些核心业务有关,这些核心业务业务逻辑冗长,涉及内部逻辑运算,缓存操作,持久化操作,外部..._什么业务场景要用到编排工具

P1015 回文数_1、若一个5位数字从左向右读与从右向左读都一样,我们就将其称之为回文串。小申编-程序员宅基地

文章浏览阅读297次。题目描述若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。例如:给定一个十进制数5656,将5656加6565(即把5656从右向左读),得到121121是一个回文数。又如:对于十进制数8787:STEP1:8787+7878=165165STEP2:165165+561561=726726STEP3:726726+627627=13531..._1、若一个5位数字从左向右读与从右向左读都一样,我们就将其称之为回文串。小申编

直线与球体的交点lisp_晓东CAD家园-论坛-A/VLISP-[LISP函数]:计算直线与曲线交点-:5 如何用Lisp程序计算支线Line与曲线(二次样条或PLINE拟合曲线)三交点,请诸位高手提...-程序员宅基地

文章浏览阅读389次。[font=courier new]86. xdrx_getinters功能:1.求两个AcDbCurve(曲线)实体的交点.2.求一个AcDbCurve(曲线)实体和一个选择集中所有AcDbCurve(曲线)的交点。3.求一个选择集中所有AcDbCurve(曲线)实体的交点.4.求一个选择集SS1中的所有AcDbCurve实体和另个选择集SS2所有AcDbCurve实体的交点。调用格式: 1. ..._lisp inters

HDU 1198 - Farm Irrigation-程序员宅基地

文章浏览阅读44次。Problem DescriptionBenny has a spacious farm land to irrigate. The farm land is a rectangle, and is divided into a lot of samll squares. Water pipes are placed in these squares. Different square has...

JAVA功能代码《3》----获取Java现在正调用的方法名-程序员宅基地

文章浏览阅读45次。3.获取Java现在正调用的方法名String methodName = Thread.currentThread().getStackTrace()[1] .getMethodName();_java string methodname = thread.currentthread().getstacktrace()[3].getmethod

随便推点

Axis2/c 知识点-程序员宅基地

文章浏览阅读145次。官网文档: http://axis.apache.org/axis2/c/core/docs/axis2c_manual.html从文档中可以总结出:1. Axis2/C是一个用C语言实现的Web Service引擎。Axis2/C基于Axis2架构,支持SOAP1.1和SOAP1.2协议,并且支持RESTful风格的Web Service。基于Axis2/C的Web Service可以..._axis2/c服务端调用axis2_get_instance

企业架构方法论-程序员宅基地

文章浏览阅读3k次。目前主要的两种架构方法(准确的说是方法论),具体的方法也是有的,也有可实际操作层面的东西,那要看很多的各个细分专业层面的东西。比如画流程图,业务流程图、数据流程图、系统交互流程图等等。togafzachmanzachman业务建模分析框架,相比于togaf,直观上直接提供了可操作的东西,可能大家更容易接受一些。这里推荐一个架构设计的专业工具,是免费的,即ArchMateArchi – Open Source ArchiMate Modelling (archim..._企业架构方法论

堆栈与队列的方法区分、优先队列的应用_判断是栈还是队列还是优先队列-程序员宅基地

文章浏览阅读123次。堆栈与队列具体的方法区分_判断是栈还是队列还是优先队列

上海计算机学会2021年7月月赛C++丙组T1布置会场-程序员宅基地

文章浏览阅读352次,点赞8次,收藏8次。小爱老师可以购买两份双拼花束后,将他重新组合成一束百合花+一束郁金香。已知布置会场需要用到x束百合花与y束郁金香,请问小爱老师购买花朵最少花费需多少元?输出共一行,一个正整数,表示小爱老师购买花朵最少花费需多少元。直接购买8束百合+6束郁金香,共计8*8+6*10=124元。内存限制: 256 Mb时间限制: 1000 ms。先购买12束双拼花朵,花费12*8=96元,第一行:两个正整数表示需要的花束数量x,y。第二行:三个正整数表示花束费用a,b,c。再购买2束百合花,花费2*8=16元,

python实现ping某一ip_使用Python测试Ping主机IP和某端口是否开放的实例-程序员宅基地

文章浏览阅读518次。使用Python方法比用各种命令方便,可以设置超时时间,到底通不通,端口是否开放一眼能看出来。命令和返回完整权限,可以ping通,端口开放,结果如下:无root权限(省略了ping),端口开放,结果如下:完整权限,可以ping通,远端端口关闭,结果如下:完整权限,可以ping通,本地端口关闭,结果如下:完整权限,不能ping通(端口自然也无法访问),结果如下:pnp.py代码#!/usr/bin/..._python ping ip无管理员权限

zplane函数怎么用m文件调用_matlab中cla用法-程序员宅基地

文章浏览阅读738次。零极点与系统稳定性的关系 4.状态方程含义 5.使用 zplane 函数 [实验原理] 该实验用 MATLAB 中库函数,如 tf2zp(b,a),ss2zp(A,B,C,D),zplane(z,p),......MATLAB 中相关命令 aa abs 绝对值、模、字符的 ascii 码值 a...零极点与系统稳定性的关系 4.状态方程含义 5.使用 zplane 函数 [实验原理] 该实验用 M..._matlabcla。m文件