다음과 같은 logger 함수를 만들어 둔 다음,
inline fun <reified T> T.logger(): Logger {
return LoggerFactory.getLogger(T::class.java)
}
Kotlin
복사
특정 Bean 에서 log 변수로 logger를 가져와주면, 타입 파라미터 T 를 인지하여 해당 클래스의 Logger로 간주된다. 사용했던 몇 가지 방법 중 제일 간편한 듯 하다.
@Component
class BeanA {
private val log = logger()
}
Kotlin
복사
IntelliJ의 Live Templates 기능까지 함께 활용하면 더더 쉽다.