로그를 기록할 때 일부 매개변수 정보가 기록되는 경우가 있습니다. jcl을 로그 인터페이스로 사용하는 경우 문자열 연결이 불가피하지만 로그의 수준이 다른 경우(level) 이는 정상입니다. 온라인으로 실행 중이면 모든 로그 수준의 로그가 기록되지 않습니다.
jcl 사용시 로그레벨 판단을 높이지 않는다면. 이러한 방식으로 log.debug("log " + param1 + " ...");을 직접 사용하면 불필요한 String 개체가 많이 생성되며 실제로는 효과가 없으며 실행 시간도 낭비됩니다. 동시에 String도 이러한 쓰레기를 대량으로 재활용해야 합니다. gc 판단을 추가해야 하는 이유입니다. jcl
물론 이제
를 직접 사용하여 자리 표시자를 사용하여 slf4j 판단을 줄일 수 있습니다. iflog.debug("log {} ...", param1)slf4j 등
다음 예시를 보시면 이해가 되실 겁니다.
으아아아로그를 기록할 때 일부 매개변수 정보가 기록되는 경우가 있습니다.
jcl
을 로그 인터페이스로 사용하는 경우 문자열 연결이 불가피하지만 로그의 수준이 다른 경우(level
) 이는 정상입니다. 온라인으로 실행 중이면 모든 로그 수준의 로그가 기록되지 않습니다.jcl
사용시 로그레벨 판단을 높이지 않는다면. 이러한 방식으로log.debug("log " + param1 + " ...");
을 직접 사용하면 불필요한String
개체가 많이 생성되며 실제로는 효과가 없으며 실행 시간도 낭비됩니다. 동시에String
도 이러한 쓰레기를 대량으로 재활용해야 합니다.gc
판단을 추가해야 하는 이유입니다.jcl
물론 이제
를 직접 사용하여 자리 표시자를 사용하여
slf4j
판단을 줄일 수 있습니다.if
log.debug("log {} ...", param1)
slf4j등