org.slf4j.Logger中isTraceEnabled(),isDebugEnabled(),isInfoEnabled(),isWarnEnabled(),isErrorEnabled()
log4j中log.isDebugEnabled(), log.isInfoEnabled()和log.isTraceEnabled()作用
项目在应用log4j打印Debug,Info和Trace级别的log时需要加上对应的三个方法进行过滤,代码如下:
if (log.isDebugEnabled()) {
log.debug(" From: " + req.getFrom().toString() +
" To: " + req.getTo().toString() +
" CallId: " + req.getCallId() +
" msg:" + msg);
}
其作用是因为Debug,Info和Trace一般会打印比较详细的信息,而且打印的次数较多,如果我们不加log.isDebugEnabled()等
进行预先判断,当系统loglevel设置高于Debug或Info或Trace时,虽然系统不会答应出这些级别的日志,但是每次还是会拼接
参数字符串,影响系统的性能。
2.错误的优化方法
部分编码人员因为不了解机制,从代码复用性和简洁性而言定义如下函数来封装
private void debug(String msg) {
if (log.isDebugEnabled()) {
log.debug(msg);
}
}
其实这种封装方式是错误的,因为当系统中调用debug(msg)函数还是出现字符串的拼接。
结论:这3个方法是对对项目的优化方法,加这个方法目的地在于如果代码中存在连接字符串的情况,打印信息时会出现太多的拼接字符串影响系统性能。如果系统中是固定字符串加不加都可以。
org.slf4j.Logger中isTraceEnabled(),isDebugEnabled(),isInfoEnabled(),isWarnEnabled(),isErrorEnabled()相关推荐
- 浅谈slf4j,logger中的{}功能
slf4j有一个common logger没有的功能,字符串中的{}会被替换,如下: logger.info("Hello {}","world");log.d ...
- Maven : Maven和jenkins报错 ClassNotFoundException : org.slf4j.Logger
1.美图 2.问题 执行一个flnk的jar报错 执行发现报错,然后也看不到错误信息,于是用java -jar去执行试试. 结果发现报错 ClassNotFoundException : org.sl ...
- slf4j.Logger的全面讲解及e.getMessage()为何为空
测试: @Testpublicvoid testDelegateHandleRequestFour2() {Filefile = new File("E:\\study\\text.txt& ...
- slf4j logger
slf4j logger 打印日志 1.引入slf4j 接口的logger和loggerFactory (即引入org.slf4j:slf4j-api的jar包以及slf4j-log4j12的jar包 ...
- 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'Logger' 中的标识列插入显式值
当使用mybatis插入数据时提示这个错误,原因是主键设置为自增长的,所以我们不需要再sql语句中再添加该主键字段了. 这个是很简单的,当时却怎么也不知道原因,看了网上很多例子,都不是很好,所以我写了 ...
- spark2-submit在CDH环境下ClassNotFoundException:org.slf4j.logger
1.视界 2. 背景 从集群的机器上拷贝了一个Spark客户端,结果直接执行spark2-submit命令报错,报错如下图 3.解决 我们,没做任何操作,客户在集群上装了一个spark-gateway ...
- java slf4j日志级别_java - 在slf4j中设置运行时消息的日志级别 - 堆栈内存溢出
===============>>#1 票数:41 已采纳 使用slf4j无法做到这slf4j . 我想,缺少这个功能的原因是,几乎不可能为slf4j构建一个Level类型,它可以有效地映 ...
- log4j.properties中的这句话“log4j.logger.org.hibernate.SQL=DEBUG ”该怎么写在log4j.xml里面呢?...
http://www.cnblogs.com/gredswsh/p/log4j_xml_properties.html 请问:log4j.properties中的这句话"log4j.logg ...
- SLF4J 教程(自由在各种log中切换)
http://www.blogjava.net/dreamstone/archive/2007/07/09/128993.html 一.介绍: 简单日记门面(simple logging Facade ...
最新文章
- g-gdb工具使用图谱(持续更新)
- 彻底解决Linux索引节点(inode)占用率高的告警
- java线程stop re_Java 多线程 之 stop停止线程实例
- 百度也出分享(百度分享)
- TensorFlow学习笔记(十六)tf.random_normal
- RabbitMQ(mall学习)
- PHP autoload实践
- 767. 重构字符串
- 2021年暑期旅游数据报告
- docker-maven-plugin 发布镜像到 window环境的docker服务器
- 下面属于python内置对象的有哪些_Python内置对象实现的方法及注意事项
- DOC命令大全--(转)
- js基础知识汇总05
- 二分排序(java)
- cad插件_CAD素材与插件合集
- 激光雷达科普(1):激光雷达的分类及重要参数
- 手机摄像头驱动_聚辰股份,智能手机摄像头EEPROM产品供应商
- html怎么实现网页中文件下载功能
- java代码如何整合_Java如何合并两个PPT文档?
- 微信公众平台开发入门教程[2020版]
热门文章
- 为转型绞尽脑汁,新东方到美国教中文!网友:卷到国外去了
- Xiaomi Civi即将发布 雷军:宽度仅71.5mm 刚刚好的握持感
- 淘宝宣布改名,网友:改了个寂寞?
- 刘作虎:今年一加9系列不会送测DxO
- 丰巢拒绝放弃超时收费:不想用,可以别用
- 快播王欣:区块链今天最重要的成果还只是理念布道
- 三星Galaxy A70s现身GeekBench数据库:搭载6400万像素传感器
- 微信内测新功能:公众号们脖子一凉...
- 紫光展锐回应“春藤510只支持NSA”:错误解读 SA和NSA一个都不少
- 刚开完2019WWDC 苹果就被iOS开发者们集体起诉...