문서의 선택한 두 판 사이의 차이를 보여줍니다.
다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
java:hibernate:log [2011/09/17 03:14] kwon37xi 새로 만듦 |
java:hibernate:log [2018/04/19 16:53] kwon37xi [logback] |
||
---|---|---|---|
줄 1: | 줄 1: | ||
====== Hibernate Log 남기기 ====== | ====== Hibernate Log 남기기 ====== | ||
+ | * http:// | ||
+ | |||
Hibernate는 Log4j 옵션 설정을 통해 SQL 실행 로그 등을 세세히 남기도록 조정할 수 있다. | Hibernate는 Log4j 옵션 설정을 통해 SQL 실행 로그 등을 세세히 남기도록 조정할 수 있다. | ||
줄 5: | 줄 7: | ||
* '' | * '' | ||
* org.hibernate.type 로그에는 한가지 문제가 있다, 클래스가 로딩되는 순간 Log level을 저장해 놓고, 그 이후로는 그 저장된 값을 사용한다는 것이다. 이 때문에 처음에는 Log4J 설정을 DEBUG 이상의 레벨로 실행하다가 프로그램 실행중에 동적으로 TRACE로 바꾼다고 해서 JDBC 파라미터가 로그로 남지는 않는다. 따라서 항상, 이 로그를 남기려면 **Hibernate의 클래스들이 로딩되기 전에 Logger의 설정이 TRACE로 되어 있어야 한다.** | * org.hibernate.type 로그에는 한가지 문제가 있다, 클래스가 로딩되는 순간 Log level을 저장해 놓고, 그 이후로는 그 저장된 값을 사용한다는 것이다. 이 때문에 처음에는 Log4J 설정을 DEBUG 이상의 레벨로 실행하다가 프로그램 실행중에 동적으로 TRACE로 바꾼다고 해서 JDBC 파라미터가 로그로 남지는 않는다. 따라서 항상, 이 로그를 남기려면 **Hibernate의 클래스들이 로딩되기 전에 Logger의 설정이 TRACE로 되어 있어야 한다.** | ||
+ | * statistics를 남기기 위해 '' | ||
+ | ===== logback ===== | ||
+ | * '' | ||
+ | logger(' | ||
+ | logger(' | ||
+ | logger(' | ||
+ | logger(' | ||
+ | logger(' | ||
+ | </ | ||
+ | * '' | ||
+ | <?xml version=" | ||
+ | < | ||
+ | <!-- .... --> | ||
+ | <logger name=" | ||
+ | <logger name=" | ||
+ | <logger name=" | ||
+ | <logger name=" | ||
+ | <logger name=" | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== Log4j ===== | ||
<code properties> | <code properties> | ||
log4j.logger.org.hibernate=info | log4j.logger.org.hibernate=info | ||
줄 40: | 줄 64: | ||
디버깅시 가장 중요한 SQL로그와 파라미터/ | 디버깅시 가장 중요한 SQL로그와 파라미터/ | ||
+ | |||
+ | ===== Hibernate Log Categories ===== | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | ===== SQL Formatter ===== | ||
+ | * [[https:// | ||
+ |