====== SpringBoot Logging ====== * [[https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html|26. Logging]] * [[https://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html|83. Logging]] * [[http://www.baeldung.com/spring-boot-logging|Logging in Spring Boot | Baeldung]] ===== debug=true ===== * ''debug=true'' 설정은 다른 로깅 설정보다 우선해서 적용되어 로그를 debug모드로 찍게 한다. * 운영 프로필에서는 사용하지 말 것. ===== 파일 명시적지정 ===== * ''logging.config=my-logback.xml'' 형태로 파일을 지정할 수 있다. * 혹은 ''logback-spring.xml''로 파일을 만들면 그 안에서 프로필에 따라 설정을 할 수도 있다. * Spring이 제어하기 힘든 ''logback.xml''은 사용하지 말거나 ''''를 include한다. ===== LOG_PATH_IS_UNDEFINED, .. ===== * ''logback-spring.xml'' + [[springframework:spring_cloud|Spring Cloud]] 사용시에, spring-cloud 버그로 인해서 ''logback-spring.xml''이 ''application properties''의 ''logging.*'' 설정보다 먼저 읽혀지면서 ''logging.path'' 값이 주입이 안되면 이런 오류가 발생한다. * ''logback-spring.xml'' 을 사용하지 말고 별도의 파일(예: ''logback-myproject.xml'') 등으로 만들고, * ''logger.config: classpath:logback-myproject.xml'' 형태로 application properties 에 설정해주면 설정의 읽는 순서가 명확해져서 일단은 해결된다. logging: path: /var/logs/application config: classpath:logback-myproject.xml * https://stackoverflow.com/a/48164468/1051402 * [[https://github.com/spring-cloud/spring-cloud-commons/issues/608|Rework PropertySourceBootstrapConfiguration to update the environment during environment post-processing and before ApplicationEnvironmentPreparedEvent is published · Issue #608 · spring-cloud/spring-cloud-commons]] * [[https://github.com/spring-projects/spring-boot/issues/13077|LoggerContext changes when using Spring Cloud, eliminating Logback metrics · Issue #13077 · spring-projects/spring-boot]] * [[https://github.com/micrometer-metrics/micrometer/issues/564|LoggerContext changes when using Spring Cloud · Issue #564 · micrometer-metrics/micrometer]] * ===== JPA Hibernate/JDBCTemplate 로깅 ===== * [[http://www.baeldung.com/sql-logging-spring-boot|Show Hibernate/JPA SQL Statements in Spring Boot]] ''application.properties'' or yml 에서 # Hibernate logging.level.org.hibernate.SQL=DEBUG logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE #JDBCTemplate logging.level.org.springframework.jdbc.core.JdbcTemplate=DEBUG logging.level.org.springframework.jdbc.core.StatementCreatorUtils=TRACE ===== 참조 ===== * [[https://www.baeldung.com/spring-boot-logging|Logging in Spring Boot | Baeldung]]