programing

MariaDB JDBC 클라이언트로깅

kingscode 2022. 10. 29. 10:13
반응형

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

반응형