[SPRING] 데이터베이스와 통신되는 SQL 로깅
SPRING데이터베이스와 통신되는 SQL 로깅
내 웹 응용 프로그램에 대한 SQL 로거에서 일하고 있습니다. 내가 GUI를 통해 사용자 상호 작용에 의해 해고 된 SQL 쿼리를 기록 할 수 있기를 원합니다. 저는 Maven과 mybatis와 협력하여 Spring 환경에서 작업하고 있습니다. 내 webapp을 war로 패키징하고 tomcat에 배포합니다.
SQL을 직접 사용하여 데이터베이스에 액세스 할 수 있기를 원합니다. Log4j와 같은 SocketAppender / HTMLAppender를 사용하고 쿼리를 게시하여 다른 비 SQL 사용자가 직접 편집하거나 쿼리에서 가비지를 제거하여 채워진 데이터를 볼 수 있도록 쿼리를 게시 할 수 있습니다.
SQL을 로깅 할 수있는 몇 가지 로거 도구가 있습니다.
내가 구체적으로 찾고있는 것 :
해결법
-
==============================
1.이런 경우에는 jdbcdslog-exp를 사용합니다.
이런 경우에는 jdbcdslog-exp를 사용합니다.
클래스 경로에 jdbcdslog-1.0.6.2.jar을 추가하십시오.
log4j 구성에 범주를 추가하십시오 (원한다면 ResultSetLogger에 대한 INFO 설정 - OutOfMemory에주의하십시오)
<category name="org.jdbcdslog.StatementLogger"> <priority value="INFO"/> </category> <category name="org.jdbcdslog.ResultSetLogger"> <priority value="FATAL"/> </category>
명령문 로깅을 런타임으로 전환해야하는 경우 log4j를 다음과 같이 시작할 수 있습니다.
PropertyConfigurator.configureAndWatch("log4j.xml", 60000);
jdbc 연결 매개 변수 변경 (여기 jboss의 hsql 예제)
...에서
<connection-url>jdbc:hsqldb:hsql://localhost:1801</connection-url> <driver-class>org.hsqldb.jdbcDriver</driver-class>
에
<connection-url>jdbc:jdbcdslog:hsqldb:hsql://localhost:1801;targetDriver=org.hsqldb.jdbcDriver</connection-url> <driver-class>org.jdbcdslog.DriverLoggingProxy</driver-class>
from https://stackoverflow.com/questions/17939376/log-sql-that-is-communicated-with-the-database by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] WebFlux의 인증서로 인증 하시겠습니까? (0) | 2019.05.03 |
---|---|
[SPRING] Android에서 Spring으로 개조를 통해 이미지 파일 보내기 (0) | 2019.05.03 |
[SPRING] 봄 부팅 및 봄 보안 다중 로그인 페이지 (0) | 2019.05.03 |
[SPRING] SecurityContext의 Authentication 개체가 여러 스레드에서 공유되지 않는 이유는 무엇입니까? (0) | 2019.05.03 |
[SPRING] 최대 절전 모드 ManyToOne FetchType.LAZY가 작동하지 않습니까? (0) | 2019.05.03 |