2010-01-16 3 views
21

최대 절전 모드 중지 할 수 없습니다 나는 이미 은 (log4j.properties 괜찮) 콘솔에 쓰기 로그에서

<property name="show_sql">false</property> 

을 설정 한 나는 log4j.properties

에서 모든 메시지를 사용할 수 있습니다 그러나에 쓰기를 최대 절전 모드 모든 쿼리가있는 콘솔 & 문.

+0

저도 같은 문제가있어 표시 할 경우

log4j.rootLogger=OFF 

그런 다음 당신이 언제든지 사용할 수 있습니다 파일. 나는 log4j.logger.org.hibernate = INFO를 설정했고 false,하지만 여전히 내 로그 파일에 추가 된 최대 절전 모드 SQL을 얻는다. 내 프로젝트에서 "show_sql"과 "log4j"를 검색하여 다른 참조를 찾았지만 아무 것도 없습니다. 최대 절전 모드 로깅을 설정하는 또 다른 방법이 있습니까? – Tauren

+1

죄송합니다.하지만 잘못되었습니다. 언급 한 모든 일을 수행하면 모든 SQL 로깅이 제거됩니다. 나는 내가 사용하고 제 3 자 라이브러리 열심히 코딩이 줄이 발견 :에서 System.out.println (HQL)를; Yikes. [봄 JPA 공급 업체 어댑터를 사용하여 SQL을 보여주는 최대 절전 정지를 할 수 없습니다]의 – Tauren

+0

가능한 중복 (http://stackoverflow.com/questions/679518/cant-make-hibernate-stop-showing-sql-using-spring-jpa- 벤더 어댑터) –

답변

22

쓰기에 모든 SQL 문장들을 콘솔에 최대 절전 모드 알려줍니다. 이는 로그 범주 org.hibernate.SQL을 디버그로 설정하는 대신에 사용할 수 있습니다.

그래서 당신은 false이 속성을 설정 한 경우에도 다음과 같은 범주 정의 (또는 콘솔 어 펜더 사용하도록 구성)하지 않도록해야합니다 : 또한

log4j.logger.org.hibernate.SQL=DEBUG 

을, 있는지 확인하면 Configuration 개체를 인스턴스화 할 때 프로그래밍 방식으로 hibernate.show_sql을 true로 설정하지 마십시오. 이 같은 사냥 뭔가 다음 setProperty(String propertyName, String value)가 첫 번째 매개 변수로 구성 속성 즉 hibernate.show_sql의 전체 이름이 아니라 show_sql 걸리는

Configuration cfg = new Configuration().configure(). 
    .setProperty("hibernate.show_sql", "true"); 

참고.

+0

@ 파스칼 : 질문에 대한 내 의견을 참조하십시오. 당신이 제안한 모든 것을 조사했습니다. 다른 아이디어가 있습니까? – Tauren

+0

logback (plus slf4j)을 사용하고 logback 설정 파일을 추가했습니다 :' \t \t

1

log4j.properties에 다음과 같이 추가 하시겠습니까? hibernate.show_sqltrue에 설정

log4j.logger.org.hibernate = WARN 
0

JUnit 테스트 태스크와 함께 Eclipse를 사용하면 모든 출력이 계속 콘솔 (Eclipse 콘솔 창에서)로 이동합니다.

하지만 단위 테스트를 위해 ant 명령을 사용하면 아무 것도 콘솔로 연결되지 않습니다.

2

안녕하세요, 당신도 log4j.properties 파일의이 2 줄로 이것을 해결할 수 있다고 생각했습니다. 앞서 언급 한 바와 같이

log4j.logger.org.hibernate = WARN 
log4j.logger.org.hibernate = ERROR 
0

, 당신은 falsehibernate.show_sql를 설정 먼저해야합니다. 이렇게하면 콘솔 또는 Tomcat stdout 로그에 대한 최대 절전 모드 출력을 방지 할 수 있습니다. 사용을 log4j에이 코드를 콘솔에

<logger name="org.hibernate.SQL" additivity="false"> 
    <level value="DEBUG" /> 
    <appender-ref ref="hibernate"/> 
</logger> 

정상적인 최대 절전 로그 수준을 유지하기 위해 (WARN/ERROR) :

그러나 다른 로그 사용 log4j.xml 파일에서이 코드를 사용자의 SQL 출력을하기 위해

.XML 파일 :

<category name="org.hibernate"> 
    <priority value="WARN" /> 
</category> 
0

은 그냥 pom.xml 파일

<dependency> 
<groupId>log4j</groupId> 
<artifactId>log4j</artifactId> 
<version>1.2.17</version> 

012에 의존성을 간단하게 추가 그그리고 로깅을 비활성화하고 src/main/resources/log4j에 put을 추가합니다.속성은 당신이 그것을에 다음 콘솔에 로그인하거나 다른 OFF

관련 문제