-
코틀린에서 log 사용하기스프링 2023. 7. 4. 19:24
https://colabear754.tistory.com/150
[Kotlin + Spring Boot] 코틀린 + 스프링부트에서 Slf4j를 사용하여 로그 찍기
목차 서론 자바 + 스프링부트를 사용할 때는 대부분 Lombok을 사용하여 각종 어노테이션으로 객체나 메소드들을 생성하게 된다. Slf4j의 Logger 객체 역시 클래스 위에 Lombok의 @Slf4j를 붙여주는 것으
colabear754.tistory.com
위에 블로그를 참고했다.
kotlin으로 스프링 프로젝트 하나 만들어주자.
build.gradle.kts를 고쳐주자.
다른부분은 고칠 필요 없고,
dependencies { implementation("org.springframework.boot:spring-boot-starter-log4j2") } configurations.forEach { it.exclude(group = "org.springframework.boot", module = "spring-boot-starter-logging") it.exclude(group = "org.apache.logging.log4j", module = "log4j-to-slf4j") }
이거 추가해준다.
그리고 아래처럼 만들어지는 스프링 시작부분을 고쳐주자.
@SpringBootApplication class PayKotlinApplication fun main(args: Array<String>) { runApplication<PayKotlinApplication>(*args) }
이런식으로 하나 만들어지는데, 여기에
inline fun <reified T> T.logger() = LoggerFactory.getLogger(T::class.java)!!
를 추가해주자.
@SpringBootApplication class PayKotlinApplication inline fun <reified T> T.logger() = LoggerFactory.getLogger(T::class.java)!! fun main(args: Array<String>) { runApplication<PayKotlinApplication>(*args) }
이렇게 된다.
이런식으로
@Service class PaymentService( private val userRepository: UserRepository, private val paymentRepository: PaymentRepository) { val log = logger() fun writeLog() { log.info("aaa") } }
val log = logger()
이렇게 프로퍼티로 넣어주고 사용하면 된다.
'스프링' 카테고리의 다른 글
redis mongodb testcontainer example 1편 (0) 2023.07.20