일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Spring Batch
- Spring
- elasticsearch
- 맛집
- java
- AWS
- Gradle
- Spring Boot
- jenkins
- javascript
- Design Patterns
- ReactJS
- Oracle
- tool
- linux
- it
- devops
- Web Server
- db
- JVM
- jsp
- laravel
- Git
- php
- MySQL
- redis
- 요리
- ubuntu
- IntelliJ
- springboot
Archives
- Today
- Total
아무거나
Log4J 에서 isDebugEnabled() 을 사용한 효율적인 리소스 관리 본문
반응형
일반적으로 log4j를 사용하는 코드를 보자.
log.debug("error message example")
위와 같은 방식으로 사용하는 경우가 있으며 아래 코드를 보자
if (log.isDebugEnabled()) {
log.debug("error message example");
}
이렇게 되면 두번이나 체크하게 될텐데 효과적일까? 라는 의문을 갖게 된다.
예를 들어 log.debug("Entry Number: " + i + ", Value: " + String.valueOf(entry[i])) 이런식으로 디버깅을 사용한다고 하자.
이러면 메세지 파라미터를 생성할 때 String 연산들이 일어나게 되며 해당 작업은 메세지 로깅여부에 상관없이 항상 발생하게 되어 파라미터 생성 비용을 발생시킬 수 있다.
* 즉, 반복문상에서 로그를 남길때 사용해야 좋다 (한 번 실행되는 로직에는 상관없음)
반응형
'Java & Kotlin > Spring' 카테고리의 다른 글
[Spring Boot] Spring Boot + Mybatis + Mysql 을 활용한 계층형(=hierarchy) 게시판 구현 (0) | 2020.05.31 |
---|---|
[Spring Boot] *Service로 끝나는 파일만 접근하는 Aspect 적용 (0) | 2020.05.16 |
[spring] 트랜잭션(Transaction) - 2 (0) | 2019.12.26 |
[spring] 트랜잭션(Transaction) - 1 (0) | 2019.12.26 |
[spring] JDBC (0) | 2019.12.26 |
Comments