문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
java:hibernate:log [2021/02/16 18:21] kwon37xi [SQL Formatter] |
java:hibernate:log [2023/12/24 11:38] (현재) kwon37xi |
||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| ====== Hibernate Log 남기기 ====== | ====== Hibernate Log 남기기 ====== | ||
| - | * http:// | ||
| Hibernate는 Log4j 옵션 설정을 통해 SQL 실행 로그 등을 세세히 남기도록 조정할 수 있다. | Hibernate는 Log4j 옵션 설정을 통해 SQL 실행 로그 등을 세세히 남기도록 조정할 수 있다. | ||
| 줄 8: | 줄 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를 남기기 위해 '' | * statistics를 남기기 위해 '' | ||
| + | |||
| + | Hibernate 의 로깅을 사용하지 않고 다음과 같은 방법들을 사용할 수도 있다. | ||
| + | |||
| + | * [[java: | ||
| + | * [[database: | ||
| + | * [[https:// | ||
| + | * [[java: | ||
| + | |||
| + | JDBC 드라이버 자체 로깅을 사용하면 프레임워크등에 의해 실행되는 너무 세세한 로그가 남는 반면, 파라미터까지 정확하게 정확한 호출 순서에 따라 로그를 볼 수 이는 장점이 있다. | ||
| + | ===== Log Categories ===== | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| ===== logback ===== | ===== logback ===== | ||
| - | * '' | + | <code xml> |
| - | logger(' | + | |
| - | logger(' | + | |
| - | logger(' | + | |
| - | logger(' | + | |
| - | logger(' | + | |
| - | </ | + | |
| - | * '' | + | |
| <?xml version=" | <?xml version=" | ||
| < | < | ||
| 줄 22: | 줄 41: | ||
| <logger name=" | <logger name=" | ||
| <logger name=" | <logger name=" | ||
| - | <logger name=" | + | <logger name=" |
| + | <logger name=" | ||
| <logger name=" | <logger name=" | ||
| - | <logger name=" | + | <logger name=" |
| </ | </ | ||
| </ | </ | ||
| 줄 65: | 줄 85: | ||
| 디버깅시 가장 중요한 SQL로그와 파라미터/ | 디버깅시 가장 중요한 SQL로그와 파라미터/ | ||
| - | ===== Hibernate Log Categories ===== | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| ===== SQL Formatter ===== | ===== SQL Formatter ===== | ||
| 줄 84: | 줄 92: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||