为什么要加上logger.isInfoEnabled()?原因有两点。
1). 直接使用logger.info("User " + userId + " is using app " + appId)来输出log,也能够达到log级别为INFO或在INFO以下时才输出:("User " + userId + " is using app " + appId),因为logger.info方法内部有判断输出级别的代码。但是在进入logger.info函数之前,("User " + userId + " is using app " + appId) 这个表达式已经通过运算拼接成了一个字符串;而如果事先使用 if (logger.isInfoEnabled())进行判断,那么当log级别在INFO以上时,就能省去上述的字符串操作,在高并发和复杂log信息拼接的情况下,使用这种标准的方法输出log能够省去不小的系统开销。另外,如果构造log信息的过程需要大量字符串操作,建议使用 StringBuilder来完成字符串拼接。
2).ERROR及其以上级别的log信息是一定会被输出的,所以只有logger.isDebugEnabled和logger.isInfoEnabled方法,而没有logger.isErrorEnabled方法。
分享到:
相关推荐
log4j漏洞修复升级jar包(log4j-1.2-api-2.17.0.jar)
log4j漏洞修复升级jar包(log4j-core-2.17.0.jar)
log4j漏洞修复升级jar包(log4j-api-2.17.0.jar)
很好的日志应该掌握的知识点罗列,希望对您有用
在本篇文章里小编给大家整理的是关于SpringBoot使用Log4j的知识点,需要的朋友们可以参考学习下。
一、 项目名称:ssh ...此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目特色: 同时使用了Struts2、Spring4、Hibernate4、log4j、slf4j、junit4、ehcache等库或框架,搭建一个最基本的项目原型。
第一章 复杂度分析 时间复杂度 : 大 o 表示法:c<log2 n*log2 n^2^3!^n 加法原理:Omax(f(n),g(n),h(n)……)\乘法原理: Omax(f(n )*g(n)) 空间复杂度: 第二章 数组存储 数组:( s:一个元素的大小、t:某个维度的...
面向对象的三个核心 继承多态和接口多态的案例 log4j的使用步骤
对mybatis使用的总结汇总以及实例演示,包括log4j的配置使用,常用的一些文档配置方法等。基本查询语句示例,insert语句主键回显,config文件配置,一对一关系配置使用,一对多关系配置等。
此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目特色: 同时使用了Struts2、Spring4、Hibernate4、log4j、slf4j、junit4、ehcache等库或框架,搭建一个最基本的项目原型。 三、 三大框架最新版本下载:...
1.spring的bean管理(注解) (1)使用注解创建对象 (2)使用注解注入属性 (3)Xml和注解方式混合使用 2.AOP (1)Aop概述 (2)Aop底层原理 (3)Aop操作相关术语 ...4.Log4j介绍 5.Spring整合web项目演示
整合使用最新版本的三大框架(即Struts2、Spring4和... 此外,还有:log4j、slf4j、ehcache等知识点。 参考文档:(感谢下边的两位原创作者,另外我在结合两个优点的基础之上,把所有的配置换成了注解的配置方案。) ...