문서의 이전 판입니다!
Hibernate는 Log4j 옵션 설정을 통해 SQL 실행 로그 등을 세세히 남기도록 조정할 수 있다.
hibernate.show_sql=true
로 설정하면 로거용 로그와 hibernate가 System.out 으로 찍는 로그 두개씩 찍힌다. 따라서 로거를 사용할 때는 hibernate.show_sql=false 로 설정해야 한다.hibernate.format_sql=true
로 하면 Log4j 로그를 찍을때 알아보기 편한 상태로 줄바꿈 해서 출력해준다.log4j.logger.org.hibernate=info #log4j.logger.org.hibernate=debug # http://blog.naver.com/jdkim528/140027638234 에서 가져옴. -> 쿼리 파라미터는 잘못돼 있음 ### log HQL query parser activity #log4j.logger.org.hibernate.hql.ast.AST=debug ### log just the SQL log4j.logger.org.hibernate.SQL=debug ### log JDBC bind parameters ### log4j.logger.org.hibernate.type=TRACE # 혹은 과거버전 log4j에서는 DEBUG ### log schema export/update ### log4j.logger.org.hibernate.tool.hbm2ddl=info ### log HQL parse trees #log4j.logger.org.hibernate.hql=debug ### log cache activity ### log4j.logger.org.hibernate.cache=info ### log transaction activity #log4j.logger.org.hibernate.transaction=debug ### log JDBC resource acquisition #log4j.logger.org.hibernate.jdbc=debug ### enable the following line if you want to track down connection ### ### leakages when using DriverManagerConnectionProvider ### #log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace
디버깅시 가장 중요한 SQL로그와 파라미터/결과 로그는 log4j.logger.org.hibernate.SQL=debug와 log4j.logger.org.hibernate.type=TRACE 이다.