首页
留言
关于
友链
更多
足迹
实验室
地图组件
Search
1
SpringMVC+Spring+MyBatis整合完整版Web实例(附数据)
2,643 阅读
2
关于在Flutter实现Google地图的方法
1,117 阅读
3
SqlServer分组排序后取第一条记录
722 阅读
4
Maven仓库报错:Could not transfer artifact org.springframework.boot:spring-boot-maven-plugin:pom···
642 阅读
5
druid报异常 “sql injection violation, part alway true condition not allow”的解决方案
616 阅读
发现
技术
生活
户外
登录
Search
标签搜索
Git
JavaScript
Oracle
Git学习
Java
Flutter
MySQL
SQL Server
Spring Boot
对称加密算法
IntelliJ IDEA
Google地图
Maven
ES6
秦岭户外
Flutter 2.0
linux
Tomcat
Redis
Spring
Bai Keyang
累计撰写
269
篇文章
累计收到
275
条评论
首页
栏目
发现
技术
生活
户外
页面
留言
关于
友链
足迹
搜索到
1
篇与
isDebugEnabled
的结果
2018-03-23
[转]log4j中log.isDebugEnabled(), log.isInfoEnabled()和log.isTraceEnabled()作用
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个方法是对对项目的优化方法,加这个方法目的地在于如果代码中存在连接字符串的情况,打印信息时会出现太多的拼接字符串影响系统性能。如果系统中是固定字符串加不加都可以。
2018年03月23日
212 阅读
0 评论
0 点赞