티스토리 뷰

logback-spring.xml 파일을 application.yml 파일에 옮기는 작업을 일전에 진행했었다. 다 전환을 하고 springboot app을 기동하니 다음과 같은 오류가 발생하였다. 

[13:23:10.131][DEBUG][sun.rmi.server.call.log:line229] - RMI TCP Connection(2)-127.0.0.1: [127.0.0.1] exception: 
javax.management.InstanceNotFoundException: org.springframework.boot:type=Admin,name=SpringApplication
	at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1083)
	at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:637)
	at java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:678)

InstanceNotFoundException??

이건 또 처음보는 exception이다. DEBUG level이라 그런지 이렇게 오류로그가 많이 떨어져도 application의 동작은 정상적으로 된다. 하지만 로그에 이렇게 이해할 수 없는 로그들이 막 찍히는건 아무래도 찜찜하다. 

 

logback 설정을 application.yml 파일에 넣고부터 발생을 한거니까 분명 이 설정에 이유가 있다. 

문제가 발생했을 때의 application.yml 파일을 보자. 

logging:
  pattern:
    console: "[%d{HH:mm:ss.SSS}][%-5level][%logger.%method:line%line] - %msg%n"
  level:
    org: INFO
    com: INFO
    root: DEBUG

결론부터 말하자면 root를 DEBUG level로 설정한것이 문제였다. 위와 같은 로그를 보지 않기 위해서는 root의 level을 INFO 이상으로 올려주거나 root 설정을 삭제하면 된다. 

 

다른 방법으로는 애초에 이런걸 수행하지 않게 IDE의 설정을 바꿔주면 된다. 이클립스를 사용하고 있다면 다음과 같이 설정을 바꿔주자. 

 

Boot Dashboard > 프로젝트 우클릭 > OpenConfig 로 들어가면 

springboot run configuration

springboot의 run configuration을 볼 수 있고 여기에서 빨간색 네모를 친 Enable JMX 부분의 체크를 해제해준다. 

그리고 다시 기동을 하면 오류를 보지 않을 수 있다. 

 

끝!

댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/05   »
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