spring boot logging 설정

spring boot logging 설정 저번에는 spring logging에 대해서 알아봤다. 이번에는 설정에 대해 알아볼려고 한다. 아래는 boot의 기본 설정으로 되어있는 로그 포맷이다. 2016-03-15 12:31:52.479 INFO 602 — [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 2016-03-15 12:31:52.480 INFO 602 — [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 2016-03-15 12:31:52.573 INFO 602 — [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL.. Read More

spring boot logging

spring boot logging spring boot의 로깅을 알아볼려한다. 예전에 백기선님이 스프링 캠프에서 발표한 내용을 참고하여 정리했다. 예전에 한번 봤었는데 기억이 가물가물에서 아예 정리를 해야겠다. spring은 기본적으로 JCL을 사용한다. spring bean 라이브러리에 DefaultSingletonBeanRegistry 클래스의 일부분 import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; … protected final Log logger = LogFactory.getLog(getClass()); … if (logger.isDebugEnabled()) { logger.debug(“Creating shared instance of singleton bean ‘” + beanName + “‘”); } 하지만 근래에는 JCL보다 slf4j를 더 많이 쓴다고 관련해서는 백기선님 발표자료를.. Read More

spring Aware 순서

spring Aware order 이건 메모 추후에 다신 확인 AbstractApplicationContext finishBeanFactoryInitialization(beanFactory) AbstractAutowireCapableBeanFactory 클래스에서 아래와 같이 셋팅 BeanNameAware BeanClassLoaderAware BeanFactoryAware private void invokeAwareMethods(final String beanName, final Object bean) { if (bean instanceof Aware) { if (bean instanceof BeanNameAware) { ((BeanNameAware) bean).setBeanName(beanName); } if (bean instanceof BeanClassLoaderAware) { ((BeanClassLoaderAware) bean).setBeanClassLoader(getBeanClassLoader()); } if (bean instanceof BeanFactoryAware) { ((BeanFactoryAware) bean).setBeanFactory(AbstractAutowireCapableBeanFactory.this); } } } ApplicationContextAwareProcessor 클래스에서 아래와 같이 셋팅 EnvironmentAware EmbeddedValueResolverAware ResourceLoaderAware ApplicationEventPublisherAware MessageSourceAware ApplicationContextAware private.. Read More