我在应用程序中使用Log4J进行日志记录。以前我使用像下面这样的调试调用:

选项1:

logger.debug("some debug text");

但有些链接建议最好先检查一下isDebugEnabled(),例如:

选项2:

boolean debugEnabled = logger.isDebugEnabled();

if (debugEnabled) {

logger.debug("some debug text");

}

所以我的问题是“ 选项2是否会以任何方式提高性能? ”。

因为在任何情况下,Log4J框架都对debugEnabled进行相同的检查。对于选项2,如果我们在单个方法或类中使用多个调试语句,则框架可能不需要isDebugEnabled()(在每次调用中)多次调用方法,这可能是有益的。在这种情况下,它isDebugEnabled()仅调用一次方法,并且如果Log4J配置为调试级别,则实际上它isDebugEnabled()两次调用方法:

如果将值分配给debugEnabled变量,则

实际是由logger.debug()方法调用的。

我不认为如果我们logger.debug()在方法或类中编写多个语句,debug()然后根据选项1 调用方法,那么与选项2相比,它对Log4J框架来说是开销。因为这isDebugEnabled()是一个非常小的方法(就代码而言),因此成为内联的好人选。

java isdebugenabled_在log4j中,在记录之前检查isDebugEnabled是否可以提高性能?相关推荐

  1. 千万条记录,怎么做分页?怎么能提高性能?

    lz的问题,我也遇到过,我也挺烦恼的,不过我们倒是通过某种方式进行了解决.我把我的一些经验简单说说. 从SQL语句来说:我们的分页往往会有select count(*)的操作,这个操作其实很费时间,所 ...

  2. java jee curd_Java / JEE中的有效日志记录–映射的诊断上下文

    java jee curd 这一切始于当我和一位同事坐在一起解决一些应用程序问题时,当我注意到一些有趣的事情时. 他正在合并代码,我的眼睛吸引了此类" org.apache.log4j.MD ...

  3. java程序员工作中遇到的问题解决记录

    1.maven项目启动不成功,找不到指定mapper 在启动类里没有配@MapperScan 2.maven项目启动成功,但不能访问指定页面 pom.xml里缺少依赖 3.html中引入react.j ...

  4. java记录类型_Java中的记录类型

    java记录类型 于2020年3月发布的JDK 14引入了记录 (预览语言功能),该记录提供了一种紧凑的语法来声明主要用于保存数据的类. 在记录中 ,所有低级,重复且容易出错的代码都类似于构造函数,访 ...

  5. Java中的记录类型

    2020年3月发布的JDK 14引入了记录 (预览语言功能),这些记录提供了一种紧凑的语法来声明主要用于保存数据的类. 在记录中 ,所有低级,重复且容易出错的代码都类似于构造函数,访问器和通用方法,例 ...

  6. java 映射数组_Java中的数组,列表,集合,映射,元组,记录文字

    java 映射数组 有时,当我对JavaScript的强大功能和表现力感到兴奋时,我发现自己错过了Java世界中的一两个功能. 除了lambda表达式/闭包或任何您想称为"匿名函数" ...

  7. java tomcat输出信息,java – 如何在Tomcat中记录stdout输出?

    我以前遇到过类似的问题,还没有找到一种方法,通过在Windows unless you are running Tomcat as a Windows service中记录System.out来执行此 ...

  8. java开源项目之IQQ学习记录之单例模式与log4j日志记录

    作者:sushengmiyan 本文地址:http://blog.csdn.net/sushengmiyan/article/details/18992741 打开IQQ项目,打开包iqq.app中的 ...

  9. 用Java Instrumentation 在类加载时添加记录

    用Java Instrumentation 在类加载时添加记录 发布者:xanadu0214   来源:网络转载   发布日期:2013年11月06日   Java学习交流群:471651004 在分 ...

  10. java log4j logback jcl_知识总结-Java日志框架Log4j、Log4j2、logback、slf4j、简介

    功能简介 上一篇介绍了为什么打印日志.什么时候打印日志以及怎么打印日志.本篇介绍下在项目开发中常见的日志组件以及关系. 先看一张图 接口:将所有日志实现适配到了一起,用统一的接口调用. 实现:目前主流 ...

最新文章

  1. Keil中找不到芯片,往Keil中添加不存在的芯片,Keil安装pack文件
  2. java自己写一个上下文_5.自己动手写Java Web框架-上下文
  3. 计算机视觉与深度学习 | SLAM、视觉里程计、VIO、Net-SLAM、激光SLAM、语义SLAM、数据集( state-of-the-art)
  4. python 添加图例_Python | 在图例标签中添加Sigma
  5. Laravel学习笔记之一
  6. python文件操作的方法_python中文件操作的基本方法
  7. AlexNet做文档布局分析 (版面分析)数据集
  8. php用手机摇一摇,H5做出手机摇一摇功能的实现步骤
  9. ROS的学习(十五)验证publisher和subscriber
  10. Spring boot 之搭建
  11. C++ multiset 相同元素
  12. 一份完整测试方案模板
  13. weblogic部署微服务项目
  14. 图像识别利用计算机对图像进行,图像识别技术的应用与发展
  15. Java基础_week6
  16. 无关业务:少年得到,产品创新工作坊的复盘
  17. python中iter是什么意思_iter的用途是什么?
  18. linu系统中dhcp的搭建
  19. 雷神3开方算法解析,游戏运行速度提高四倍。
  20. [coreboot]coreboot porting for RISCV

热门文章

  1. myeclipse 隐藏父级包
  2. 好程序员大数据技术分享:Zookeeper集群管理与选举...
  3. LeetCode 951. Flip Equivalent Binary Trees
  4. amp;#9733;《唐琅探案》后记【3】
  5. neutron用linux_bridge部署provider网络
  6. PLSQL_海量数据处理系列7_DBSM_STATS
  7. Directx11教程(60) tessellation学习(2)
  8. OpenCV 文字绘制——cv::putText详解
  9. FwmarkServer 实现以及功能分析
  10. linux下交叉编译ffmpeg,并加入H264编码支持