MariaDB JDBC 클라이언트로깅
MariaDB jdbc 드라이버를 사용하여 Java에서 쿼리를 기록할 수 있는 방법이 있습니까?
MySQL 드라이버를 사용하여
profileSQL=true
logger=com.mysql.jdbc.log.Slf4JLogger
(디버깅을 훨씬 쉽게 실행할 수 있습니다).
log4jdbc와 같은 것이 존재한다는 것을 깨달았습니다.그런 라이브러리를 사용할 필요가 있나요?아니면 mariadb 드라이버에 내장되어 있나요?
1.5.0 이후로는 로그가 지원됩니다.
이미 Per Lundberg에 따르면 버전 1.5.0 이후 로깅이 가능합니다.여기를 참조해 주십시오.
활성화 시키기 위해&log=true
데이터베이스 URL로 이동합니다. 하지만 이것만으로는 충분하지 않았습니다.여기서 설명한 바와 같이 다음 절차도 필요합니다.
먼저 다음과 같은 종속성을 추가해야 합니다.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>[1.4.0,1.7.25]</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
그런 다음 위의 예시와 같이 로그백을 설정해야 합니다.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<logger name="org.mariadb.jdbc" level="trace" additivity="false">
<appender-ref ref="STDOUT"/>
</logger>
<root level="error">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
"추적" 로그 수준은 많은 정보를 제공하므로 다른 로그 수준을 사용하는 것이 좋습니다.현재 지원되는 로그 수준은 trace, debug, info, warn 또는 error입니다.
현재 mariadb java 클라이언트에서 sql 쿼리를 기록하는 방법은 없습니다.
다음 링크를 참조할 수 있습니다.https://mariadb.com/kb/en/mariadb/client-libraries/mariadb-java-client/about-the-mariadb-java-client/
또한 도움이 될 경우 dumpQueriesOnException을 사용할 수도 있습니다.
언급URL : https://stackoverflow.com/questions/23609478/mariadb-jdbc-client-logging
'programing' 카테고리의 다른 글
jQuery를 사용하여 페이지 로드 시 양식 입력 텍스트 필드에 초점을 맞추는 방법은 무엇입니까? (0) | 2022.10.29 |
---|---|
.map()의 요소를 건너뛰는 방법 (0) | 2022.10.29 |
Java HTTP 클라이언트 요청(타임아웃이 정의됨) (0) | 2022.10.29 |
PhpMyAdmin을 사용한 Nginx(SSL을 통해 보안 보호) (0) | 2022.10.29 |
현재 날짜 + 7일 반환 (0) | 2022.10.19 |