1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/javard-log4jdbc-sql

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Проект содержит SQL-запросы, которые иногда трудно отследить, также нет возможности регистрировать время выполнения. Поэтому было решено использовать log4jdbc. Однако конфигурация содержит слишком много элементов, а выходной формат не соответствует требованиям. Интеграция с log4j2 не позволяет выводить логи должным образом.

Сегодня я просмотрел исходный код и внёс некоторые изменения. Код был отправлен сюда для удобства управления.

Проект log4jdbc использует SLF4J — это интерфейс, который имеет множество реализаций. В данном проекте используется log4jback для подключения к SLF4J.

Исходный код log4jdbc

Код основан на открытом исходном проекте log4jdbc:

Концепция log4jdbc

Дополнительную информацию можно найти по ссылке: http://blog.csdn.net/ycpanda/article/details/46519941

Пример конфигурации URL и драйвера

В spring.datasource.driver-class-name указывается класс драйвера log4jdbc Spy. В spring.datasource.url задаётся URL-адрес подключения к базе данных MySQL.

spring.datasource.driver-class-name=net.sf.log4jdbc.DriverSpy
spring.datasource.url=jdbc:log4jdbc:mysql://localhost:3306/test?useUnicode\=true&characterEncoding\=UTF8&characterSetResults\=UTF8&autoReconnect\=true&zeroDateTimeBehavior\=convertToNull

Лучшая практика

  1. Можно не использовать log4j.log4jdbc.properties.
  2. Пример использования с slf4j+log4j2:
    • pom.xml:
      <slf4j.version>1.7.14</slf4j.version>
      <log4j2.version>2.6.2</log4j2.version>
      
      <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-api</artifactId>
          <version>${slf4j.version}</version>
      </dependency>
      <dependency>
          <groupId>org.apache.logging.log4j</groupId>
          <artifactId>log4j-api</artifactId>
          <version>${log4j2.version}</version>
      </dependency>
      <dependency>
          <groupId>org.apache.logging.log4j</groupId>
          <artifactId>log4j-core</artifactId>
          <version>${log4j2.version}</version>
      </dependency>
      <dependency>
          <groupId>org.apache.logging.log4j</groupId>
          <artifactId>log4j-slf4j-impl</artifactId>
          <version>${log4j2.version}</version>
      </dependency>
    * log4j2.xml:

        ```
        <configuration status="WARN" monitorInterval="30" strict="true">
            <Appenders>
                <Console name="Console" target="SYSTEM_OUT" ignoreExceptions="false">
                    <PatternLayout pattern="%d{HH:mm:ss.SSS}  %-5level %c{36}- %msg%n" />
                </Console>
            </Appenders>

            <loggers>

                <!--log4jdbc -->
                <logger name="jdbc.sqlonly" level="OFF" additivity="false" />
                <logger name="jdbc.resultset" level="OFF" additivity="false" />
                <logger name="jdbc.connection" level="OFF" additivity="false" />
                <logger name="jdbc.audit" level="OFF" additivity="false" />

                <!-- <logger name="log4jdbc.debug" level="INFO" additivity="false" >
                    <appender-ref ref="Console" />
                </logger> 
                <logger name="jdbc.sqltiming" level="INFO" additivity="false" >
                    <appender-ref ref="Console" />
                </logger>  -->

                <!--默认的root的logger -->
                <root level="debug">
                    <appender-ref ref="Console" />
                </root>
            </loggers>
        </configuration>
  1. Изменения в исходном коде:

    • добавлены специальные символы SQL-CONFIG и SQL для обозначения журналов, связанных с операциями SQL;
    • удалены символы возврата каретки из исходных журналов, чтобы обеспечить вывод журналов в одну строку;
    • добавлена информация о подключении к базе данных (connection:1,e0a1828), где 1 — номер соединения, e0a1828 — хэш-значение объекта java.sql.Connection, которое служит для идентификации и регистрации журнала соединения в течение всего жизненного цикла.
    22:09:15.626  DEBUG log4jdbc.debug- [SQL-CONFIG]:  FOUND DRIVER com.mysql.jdbc.Driver
    22:09:17.120  DEBUG jdbc.sqltiming- [SQL]:(connection:5,6f9bc97){update test_curd set name = '更新后的值' where id >= 0 }USE:108ms
4. Практика:
    * только печать SQL и времени выполнения:
        * ```
        <logger name="jdbc.sqlonly" level="OFF" additivity="false" />
        <logger name="jdbc.resultset" level="OFF" additivity="false" />
        <logger name="jdbc.connection" level="OFF" additivity="false" />
        <logger name="jdbc.audit" level="OFF" additivity="false" />

        <root level="debug">或者<root level="info">
* печать SQL и информации аудита соединения (ConnectionPreparedStatement):
    * ```
    <logger name="jdbc.sqlonly" level="OFF" additivity="false" />
    <logger name="jdbc.resultset" level="OFF" additivity="false" />
    <logger name="jdbc.connection" level="OFF" additivity="false" />

    <root level="debug">либо<root level="info">
* отключение печати SQL:
    * ```
    <logger name="log4jdbc.debug" level="OFF" additivity="false" />
    <logger name="jdbc.sqlonly" level="OFF" additivity="false" />
    <logger name="jdbc.resultset" level="OFF" additivity="false" />
    <logger name="jdbc.connection" level="OFF"

    22:09:15.617  DEBUG log4jdbc.debug- [SQL-CONFIG]:... log4jdbc initializing ...
    22:09:15.618  DEBUG log4jdbc.debug- [SQL-CONFIG]:  log4jdbc.properties not found on classpath
    22:09:15.618  DEBUG log4jdbc.debug- [SQL-CONFIG]:log4jdbc.debug.stack.prefix is not defined
    22:09:15.618  DEBUG log4jdbc.debug- [SQL-CONFIG]:log4jdbc.sqltiming.warn.threshold is not defined
    22:09:15.618  DEBUG log4jdbc.debug- [SQL-CONFIG]:log4jdbc.sqltiming.error.threshold is not defined
    22:09:15.618  DEBUG log4jdbc.debug- [SQL-CONFIG]:log4jdbc.dump.booleanastruefalse is not defined (using default value false)
    22:09:15.619  DEBUG log4jdbc.debug- [SQL-CONFIG]:log4jdbc.dump.sql.maxlinelength is not defined (using default of 200)
    22:09:15.619  DEBUG log4jdbc.debug- [SQL-CONFIG]:log4jdbc.dump.fulldebugstacktrace is not defined (using default value false)
    22:09:15.619  DEBUG log4jdbc.debug- [SQL-CONFIG]:log4jdbc.statement.warn is not defined (using default value false)
    22:09:15.619  DEBUG log4jdbc.debug- [SQL-CONFIG]:log4jdbc.dump.sql.select is not defined (using default value true)
    22:09:15.619  DEBUG log4jdbc.debug- [SQL-CONFIG]:log4jdbc.dump.sql.insert is not defined (using default value true)
    22:09:15.619  DEBUG log4jdbc.debug- [SQL-CONFIG]:log4jdbc.dump.sql.update is not defined (using default value true)
    22:09:15.619  DEBUG log4jdbc.debug- [SQL-CONFIG]:log4jdbc.dump.sql.delete is not defined (using default value true)
    22:09:15.619  DEBUG log4jdbc.debug- [SQL-CONFIG]:log4jdbc.dump.sql.create is not defined (using default value true)
    22:09:15.619  DEBUG log4jdbc.debug- [SQL-CONFIG]:log4jdbc.dump.sql.addsemicolon is not defined (using default value false)
    22:09:15.619  DEBUG log4jdbc.debug- [SQL-CONFIG]:log4jdbc.auto.load.popular.drivers is not defined (using default value true)
    22:09:15.619  DEBUG log4jdbc.debug- [SQL-CONFIG]:log4jdbc.trim.sql is not defined (using default value true)
    22:09:15.619  DEBUG log4jdbc.debug- [SQL-CONFIG]:log4jdbc.trim.sql.extrablanklines is not defined (using default value true)
    22:09:15.619  DEBUG log4jdbc.debug- [SQL-CONFIG]:log4jdbc.suppress.generated.keys.exception is not defined (using default value false)
    22:09:15.619  DEBUG log4jdbc.debug- [SQL-CONFIG]:log4jdbc.drivers is not defined
    22:09:15.626  DEBUG log4jdbc.debug- [SQL-CONFIG]:  FOUND DRIVER com.mysql.jdbc.Driver
    22:09:15.628  DEBUG log4jdbc.debug- [SQL-CONFIG]:... log4jdbc initialized! ...
    22:09:15.785  INFO  jdbc.connection- [SQL]:(connection:1,3aa82b22). Connection opened  java.sql.DriverManager.getConnection(null:-1)
    22:09:15.785  DEBUG jdbc.connection- [SQL]:open connections:  1 (1)
    22:09:15.785  DEBUG jdbc.audit- [SQL]:(connection:1,3aa82b22). Connection.new Connection returned   java.sql.DriverManager.getConnection(null:-1)
    22:09:15.798  DEBUG jdbc.audit- [SQL]:(connection:1,3aa82b22). PreparedStatement.new PreparedStatement returned   org.apache.commons.dbutils.AbstractQueryRunner.prepareStatement(AbstractQueryRunner.java:154)
    22:09:15.799  DEBUG jdbc.audit- [SQL]:(connection:1,3aa82b22). Connection.prepareStatement(drop table if exists test_curd) returned net.sf.log4jdbc.PreparedStatementSpy@7cd569b5  org.apache.commons.dbutils.AbstractQueryRunner.prepareStatement(AbstractQueryRunner.java:154)
    22:09:15.800  DEBUG jdbc.audit- [SQL]:(connection:1,3aa82b22). PreparedStatement.getParameterMetaData() returned com.mysql.jdbc.MysqlParameterMetadata@2b64ff3b  org.apache.commons.dbutils.AbstractQueryRunner.fillStatement(AbstractQueryRunner.java:225)
    22:09:15.800  DEBUG jdbc.sqlonly- [SQL]: org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:488) (connection:1,3aa82b22). drop table if exists test_curd 
    22:09:15.990  DEBUG jdbc.sqltiming- [SQL]:(connection:1,3aa82b22){drop table if exists test_curd }USE:190ms
    22:09:15.991  DEBUG jdbc.audit- [SQL]:(connection:1,3aa82b22). PreparedStatement.executeUpdate() вернул 0 org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:488)
    22:09:15.992  DEBUG jdbc.audit- [SQL]:(connection:1,3aa82b22). PreparedStatement.close() вернул   org.apache.commons.dbutils.DbUtils.close(DbUtils.java:84)
    22:09:15.993  DEBUG jdbc.audit- [SQL]:(connection:1,3aa82b22). PreparedStatement.new PreparedStatement вернул   org.apache.commons.dbutils.AbstractQueryRunner.prepareStatement(AbstractQueryRunner.java:154)
    22:09:15.993  DEBUG jdbc.audit- [SQL]:(connection:1,3aa82b22). Connection.prepareStatement (CREATE TABLE `test_curd` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `create_date` datetime DEFAULT NULL,  `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;) вернул net.sf.log4jdbc.PreparedStatementSpy@7d380be8  org.apache.commons.dbutils.AbstractQueryRunner.prepareStatement(AbstractQueryRunner.java:154)
    22:09:15.994  DEBUG jdbc.audit- [SQL]:(connection:1,3aa82b22). PreparedStatement.getParameterMetaData() вернул com.mysql.jdbc.MysqlParameterMetadata@6a95ec91  org.apache.commons.dbutils.AbstractQueryRunner.fillStatement(AbstractQueryRunner.java:225)
    22:09:15.994  DEBUG jdbc.sqlonly- [SQL]: org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:488) (connection:1,3aa82b22). CREATE TABLE `test_curd` ( `id` int(11) NOT NULL AUTO_INCREMENT, `create_date` datetime DEFAULT NULL, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; 
    22:09:16.741  DEBUG jdbc.sqltiming- [SQL]:(connection:1,3aa82b22){CREATE TABLE `test_curd` ( `id` int(11) NOT NULL AUTO_INCREMENT, `create_date` datetime DEFAULT NULL, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; }USE:747ms
    22:09:16.742  DEBUG jdbc.audit- [SQL]:(connection:1,3aa82b22). PreparedStatement.executeUpdate() вернул 0  org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:488)
    22:09:16.742  DEBUG jdbc.audit- [SQL]:(connection:1,3aa82b22). PreparedStatement.close() вернул   org.apache.commons.dbutils.DbUtils.close(DbUtils.java:84)

    清理表
    22:09:16.743  INFO  jdbc.connection- [SQL]:(connection:1,3aa82b22). Соединение закрыто  org.apache.commons.dbutils.DbUtils.close(DbUtils.java:60)
    22:09:16.743  DEBUG jdbc.connection- [SQL]:открытые соединения:  нет
    22:09:16.743  DEBUG jdbc.audit- [SQL]:(connection:1,3aa82b22). Connection.close() вернул   org.apache.commons.dbutils.DbUtils.close(DbUtils.java:60)

    22:09:16.758  INFO  jdbc.connection- [SQL]:(connection:2,6e9637fe). Соединение открыто  java.sql.DriverManager.getConnection(null:-1)
    22:09:16.758  DEBUG jdbc.connection- [SQL]:открытые соединения: 2 (1)
    22:09:16.758  DEBUG jdbc.audit- [SQL]:(connection:2,6e9637fe). Connection.new Connection вернул   java.sql.DriverManager.getConnection(null:-1)
    22:09:16.761  DEBUG jdbc.audit- [SQL]:(connection:2,6e9637fe). PreparedStatement.new PreparedStatement вернул   org.apache.commons.dbutils.QueryRunner.insert(QueryRunner.java:604)
    22:09:16.761  DEBUG jdbc.audit- [SQL]:(connection:2,6e9637fe). Connection.prepareStatement (insert into test_curd(name,create_date) values(?,?), 1) вернул net.sf.log4jdbc.PreparedStatementSpy@7deb27fa  org.apache.commons.dbutils.QueryRunner.insert(QueryRunner.java:604)
    22:09:16.762  DEBUG jdbc.audit- [SQL]:(connection:2,6e9637fe). PreparedStatement.getParameterMetaData() вернул com.mysql.jdbc.MysqlParameterMetadata@598dceab  org.apache.commons.dbutils.AbstractQueryRunner.fillStatement(AbstractQueryRunner.java:225)
    22:09:16.762  DEBUG jdbc.audit- [SQL]:(connection:2,6e9637fe). PreparedStatement.setObject(1, 测试中文) вернул   org.apache.commons.dbutils.AbstractQueryRunner.fillStatement(AbstractQueryRunner.java:242)
    22:09:16.775  DEBUG jdbc.audit- [SQL]:(connection:2,6e9637fe). PreparedStatement.setObject(2, Sat Apr 29 22:09:16 CST 2017) вернул **org.apache.commons.dbutils.AbstractQueryRunner.fillStatement(AbstractQueryRunner.java:242)**

22:09:16.775 DEBUG jdbc.sqlonly- [SQL]: org.apache.commons.dbutils.QueryRunner.insert(QueryRunner.java:606) (connection: 2, 6e9637fe). insert into test_curd(name, create_date) values('测试中文', '2017-04-29 22:09:16')

22:09:16.856 DEBUG jdbc.sqltiming- [SQL]: (connection: 2, 6e9637fe) {insert into test_curd(name,create_date) values('测试中文','2017-04-29 22:09:16')} USE: 80ms

22:09:16.856 DEBUG jdbc.audit- [SQL]: (connection: 2, 6e9637fe). PreparedStatement.executeUpdate() returned 1 org.apache.commons.dbutils.QueryRunner.insert(QueryRunner.java:606)

22:09:16.871 DEBUG jdbc.audit- [SQL]: (connection: 2, 6e9637fe). PreparedStatement.getConnection() returned net.sf.log4jdbc.ConnectionSpy@5cfc2617 org.apache.commons.dbutils.QueryRunner.insert(QueryRunner.java:607)

22:09:16.872 DEBUG jdbc.resultset- [SQL]: (connection: 2, 5cfc2617). ResultSet.new ResultSet returned org.apache.commons.dbutils.QueryRunner.insert(QueryRunner.java:607)

22:09:16.872 DEBUG jdbc.audit- [SQL]: (connection: 2, 6e9637fe). PreparedStatement.getGeneratedKeys() returned net.sf.log4jdbc.ResultSetSpy@2e28dfb2 org.apache.commons.dbutils.QueryRunner.insert(QueryRunner.java:607)

22:09:16.873 DEBUG jdbc.audit- [SQL]: (connection: 2, 6e9637fe). PreparedStatement.getConnection() returned net.sf.log4jdbc.ConnectionSpy@5cfc2617 org.apache.commons.dbutils.handlers.MapHandler.handle(MapHandler.java:73)

22:09:16.873 DEBUG jdbc.resultset- [SQL]: (connection: 2, 5cfc2617). ResultSet.next() returned true org.apache.commons.dbutils.handlers.MapHandler.handle(MapHandler.java:73)

22:09:16.876 DEBUG jdbc.audit- [SQL]: (connection: 2, 6e9637fe). PreparedStatement.getConnection() returned net.sf.log4jdbc.ConnectionSpy@5cfc2617 org.apache.commons.dbutils.BasicRowProcessor.toMap(BasicRowProcessor.java:161)

22:09:16.877 DEBUG jdbc.resultset- [SQL]: (connection: 2, 5cfc2617). ResultSet.getMetaData() returned com.mysql.jdbc.ResultSetMetaData@3c1a42fa — Field level information:

com.mysql.jdbc.Field@602349e9[catalog=null, tableName=, originalTableName=null, columnName=GENERATED_KEY, originalColumnName=null, mysqlType=-1 (Unknown MySQL Type # -1), flags=, charsetIndex=0, charsetName=UTF8] org.apache.commons.dbutils.BasicRowProcessor.toMap(BasicRowProcessor.java:161)

22:09:16.878 DEBUG jdbc.audit- [SQL]: (connection: 2, 6e9637fe). PreparedStatement.getConnection() returned net.sf.log4jdbc.ConnectionSpy@5cfc2617 org.apache.commons.dbutils.BasicRowProcessor.toMap(BasicRowProcessor.java:169)

22:09:16.878 DEBUG jdbc.resultset- [SQL]: (connection: 2, 5cfc2617). ResultSet.getObject(1) returned 1 org.apache.commons.dbutils.BasicRowProcessor.toMap(BasicRowProcessor.java:169)

22:09:16.879 DEBUG jdbc.audit- [SQL]: (connection: 2, 6e9637fe). PreparedStatement.close() returned org.apache.commons.dbutils.DbUtils.close(DbUtils.java:84)

insertTest: {GENERATED_KEY=1}

insertTest: null

22:09:16.881 INFO jdbc.connection- [SQL]: (connection: 2, 6e9637fe). Connection closed org.apache.commons.dbutils.DbUtils.close(DbUtils.java:60)

22:09:16.881 DEBUG jdbc.connection- [SQL]: open connections: none

22:09:16.882 DEBUG jdbc.audit- [SQL]: (connection: 2, 6e9637fe). Connection.close() returned org.apache.commons.dbutils.DbUtils.close(DbUtils.java:60) **net.sf.log4jdbc.PreparedStatementSpy@79e4de3d**

org.apache.commons.dbutils.QueryRunner.insert(QueryRunner.java:604)
22:09:16.906 DEBUG jdbc.audit — [SQL]: (connection: 3, 454d427a). PreparedStatement.getParameterMetaData() returned com.mysql.jdbc.MysqlParameterMetadata@20bab550

org.apache.commons.dbutils.AbstractQueryRunner.fillStatement(AbstractQueryRunner.java:225)

22:09:16.906 DEBUG jdbc.audit — [SQL]: (connection: 3, 454d427a). PreparedStatement.setObject(1, «测试中文») returned

org.apache.commons.dbutils.AbstractQueryRunner.fillStatement(AbstractQueryRunner.java:242)

22:09:16.907 DEBUG jdbc.audit — [SQL]: (connection: 3, 454d427a). PreparedStatement.setObject(2, Sat Apr 29 22:09:16 CST 2017) returned

org.apache.commons.dbutils.AbstractQueryRunner.fillStatement(AbstractQueryRunner.java:242)

22:09:16.907 DEBUG jdbc.sqlonly — [SQL]: org.apache.commons.dbutils.QueryRunner.insert(QueryRunner.java:606) (connection: 3, 454d427a). insert into test_curd(name, create_date) values('测试中文', '2017-04-29 22:09:16')

22:09:16.986 DEBUG jdbc.sqltiming — [SQL]: (connection: 3, 454d427a) {insert into test_curd (name, create_date) values ('测试中文', '2017-04-29 22:09:16')} USE: 79ms

22:09:16.987 DEBUG jdbc.audit — [SQL]: (connection: 3, 454d427a). PreparedStatement.executeUpdate() returned 1

org.apache.commons.dbutils.QueryRunner.insert(QueryRunner.java:606)

22:09:16.987 DEBUG jdbc.audit — [SQL]: (connection: 3, 454d427a). PreparedStatement.getConnection() returned net.sf.log4jdbc.ConnectionSpy@3206ee33

org.apache.commons.dbutils.QueryRunner.insert(QueryRunner.java:607)

22:09:16.987 DEBUG jdbc.resultset — [SQL]: (connection: 3, 3206ee33). ResultSet.new ResultSet returned

org.apache.commons.dbutils.QueryRunner.insert(QueryRunner.java:607)

22:09:16.987 DEBUG jdbc.audit — [SQL]: (connection: 3, 454d427a). PreparedStatement.getGeneratedKeys() returned net.sf.log4jdbc.ResultSetSpy@65006fed

org.apache.commons.dbutils.QueryRunner.insert(QueryRunner.java:607)

22:09:16.987 DEBUG jdbc.audit — [SQL]: (connection: 3, 454d427a). PreparedStatement.getConnection() returned net.sf.log4jdbc.ConnectionSpy@3206ee33

org.apache.commons.dbutils.handlers.MapHandler.handle(MapHandler.java:73)

22:09:16.988 DEBUG jdbc.resultset — [SQL]: (connection: 3, 3206ee33). ResultSet.next() returned true

org.apache.commons.dbutils.handlers.MapHandler.handle(MapHandler.java:73)

22:09:16.988 DEBUG jdbc.audit — [SQL]: (connection: 3, 454d427a). PreparedStatement.getConnection() returned net.sf.log4jdbc.ConnectionSpy@3206ee33

org.apache.commons.dbutils.BasicRowProcessor.toMap(BasicRowProcessor.java:161)

22:09:16.988 DEBUG jdbc.resultset — [SQL]: (connection: 3, 3206ee33). ResultSet.getMetaData() returned com.mysql.jdbc.ResultSetMetaData@7fb46468 — Field level information:
com.mysql.jdbc.Field@1c2c2958[catalog = null, tableName =, originalTableName = null, columnName = GENERATED_KEY, originalColumnName = null, mysqlType = -1 (Unknown MySQL Type # -1), flags =, charsetIndex = 0, charsetName = UTF8]

org.apache.commons.dbutils.BasicRowProcessor.toMap(BasicRowProcessor.java:161)

22:09:16.988 DEBUG jdbc.audit — [SQL]: (connection: 3, 454d427a). PreparedStatement.getConnection() returned net.sf.log4jdbc.ConnectionSpy@3206ee33

org.apache.commons.dbutils.BasicRowProcessor.toMap(BasicRowProcessor.java:169)

22:09:16.988 DEBUG jdbc.resultset — [SQL]: (connection: 3, 3206ee33). ResultSet.getObject(1) returned 2

org.apache.commons.dbutils.BasicRowProcessor.toMap(BasicRowProcessor.java:169)

22:09:16.988 DEBUG jdbc.audit — [SQL]: (connection: 3, 454d427a). PreparedStatement.close() returned

org.apache.commons.dbutils.DbUtils.close(DbUtils.java:84)

insertTest: {GENERATED_KEY = 2}

insertTest: null

22:09:16.988 INFO jdbc.connection — [SQL]: (connection: 3, 454d427a). Connection closed

org.apache.commons.dbutils.DbUtils.close(DbUtils.java:60)

22:09:16.988 DEBUG jdbc.connection — [SQL]: open connections: none

22:09:16.988 DEBUG jdbc.audit — [SQL]: (connection: 3, 454d427a). Connection.close() returned

org.apache.commons.dbutils.DbUtils.close(DbUtils.java:60) 22:09:16.998 INFO jdbc.connection- [SQL]:(connection:4,3bf06804). Connection opened java.sql.DriverManager.getConnection(null:-1)
    22:09:16.998 DEBUG jdbc.connection- [SQL]:open connections: 4 (1)
    22:09:16.998 DEBUG jdbc.audit- [SQL]:(connection:4,3bf06804). Connection.new Connection returned java.sql.DriverManager.getConnection(null:-1)
    22:09:16.998 DEBUG jdbc.audit- [SQL]:(connection:4,3bf06804). PreparedStatement.new PreparedStatement returned org.apache.commons.dbutils.AbstractQueryRunner.prepareStatement(AbstractQueryRunner.java:154)
    22:09:16.999 DEBUG jdbc.audit- [SQL]:(connection:4,3bf06804). Connection.prepareStatement(select * from test_curd where id>?) returned net.sf.log4jdbc.PreparedStatementSpy@201d324c org.apache.commons.dbutils.AbstractQueryRunner.prepareStatement(AbstractQueryRunner.java:154)
    22:09:16.999 DEBUG jdbc.audit- [SQL]:(connection:4,3bf06804). PreparedStatement.getParameterMetaData() returned com.mysql.jdbc.MysqlParameterMetadata@5cd12c0c org.apache.commons.dbutils.AbstractQueryRunner.fillStatement(AbstractQueryRunner.java:225)
    22:09:16.999 DEBUG jdbc.audit- [SQL]:(connection:4,3bf06804). PreparedStatement.setObject(1, 1) returned org.apache.commons.dbutils.AbstractQueryRunner.fillStatement(AbstractQueryRunner.java:242)
    22:09:16.999 DEBUG jdbc.sqlonly- [SQL]: org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:347) (connection:4,3bf06804). select * from test_curd where id>1
    22:09:16.999 DEBUG jdbc.sqltiming- [SQL]:(connection:4,3bf06804){select * from test_curd where id>1 }USE:0ms
    22:09:16.999 DEBUG jdbc.audit- [SQL]:(connection:4,3bf06804). PreparedStatement.getConnection() returned net.sf.log4jdbc.ConnectionSpy@28a2f76f org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:347)
    22:09:16.999 DEBUG jdbc.resultset- [SQL]:(connection:4,28a2f76f). ResultSet.new ResultSet returned org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:347)
    22:09:17.000 DEBUG jdbc.audit- [SQL]:(connection:4,3bf06804). PreparedStatement.executeQuery() returned net.sf.log4jdbc.ResultSetSpy@6322ad40 org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:347)
    22:09:17.000 DEBUG jdbc.audit- [SQL]:(connection:4,3bf06804). PreparedStatement.getConnection() returned net.sf.log4jdbc.ConnectionSpy@28a2f76f org.apache.commons.dbutils.handlers.ArrayHandler.handle(ArrayHandler.java:83)
    22:09:17.000 DEBUG jdbc.resultset- [SQL]:(connection:4,28a2f76f). ResultSet.next() returned true org.apache.commons.dbutils.handlers.ArrayHandler.handle(ArrayHandler.java:83)
    22:09:17.000 DEBUG jdbc.audit- [SQL]:(connection:4,3bf06804). PreparedStatement.getConnection() returned net.sf.log4jdbc.ConnectionSpy@28a2f76f org.apache.commons.dbutils.BasicRowProcessor.toArray(BasicRowProcessor.java:99)
    22:09:17.000 DEBUG jdbc.resultset- [SQL]:(connection:4,28a2f76f). ResultSet.getMetaData() returned com.mysql.jdbc.ResultSetMetaData@799c7798 - Field level information:
        com.mysql.jdbc.Field@f6fda88[catalog=test,tableName=test_curd,originalTableName=test_curd,columnName=id,originalColumnName=id,mysqlType=3(FIELD_TYPE_LONG),flags= AUTO_INCREMENT PRIMARY_KEY, charsetIndex=63, charsetName=US-ASCII]
        com.mysql.jdbc.Field@78741ea2[catalog=test,tableName=test_curd,originalTableName=test_curd,columnName=create_date,originalColumnName=create_date,mysqlType=12(FIELD_TYPE_DATETIME),flags= BINARY, charsetIndex=63, charsetName=US-ASCII]
        com.mysql.jdbc.Field@f875b76[catalog=test,tableName=test_curd,originalTableName=test_curd,columnName=name,originalColumnName=name,mysqlType=253(FIELD_TYPE_VAR_STRING),flags=, charsetIndex=33, charsetName=UTF-8] org.apache.commons.dbutils.BasicRowProcessor.toArray(BasicRowProcessor.java:99)
    22:09:17.000 DEBUG jdbc.audit- [SQL]:(connection:4,3bf06804). PreparedStatement.getConnection() returned net.sf.log4jdbc.ConnectionSpy@28a2f76f org.apache.commons.dbutils.BasicRowProcessor.toArray(BasicRowProcessor.java:104) ResultSet.getObject(1) вернул 2  
org.apache.commons.dbutils.BasicRowProcessor.toArray(BasicRowProcessor.java:104)  

22:09:17.000 DEBUG jdbc.audit — [SQL]: (connection:4,3bf06804). PreparedStatement.getConnection() вернул net.sf.log4jdbc.ConnectionSpy@28a2f76f  
org.apache.commons.dbutils.BasicRowProcessor.toArray(BasicRowProcessor.java:104)

22:099:17.000 DEBUG jdbc.resultset — [SQL]: (connection:4,28a2f76f). ResultSet.getObject(2) вернул «2017-04-29 22:09:16.0»  
org.apache.commons.dbutils.BasicRowProcessor.toArray(BasicRowProcessor.java:104) 

22:09:17.000 DEBUG jdbc.audit — [SQL]: (connection:4,3bf06804). PreparedStatement.getConnection() вернул net.sf.log4jdbc.ConnectionSpy@28a2f76f  
org.apache.commons.dbutils.DbUtils.close(DbUtils.java:72)

22:09:17.001 DEBUG jdbc.resultset — [SQL]: (connection:4,28a2f76f). ResultSet.getObject(3) вернул «测试中文»  
org.apache.commons.dbutils.BasicRowProcessor.toArray(BasicRowProcessor.java:104)

22:09:17.001 DEBUG jdbc.audit — [SQL]: (connection:4,3bf06804). PreparedStatement.getConnection() вернул net.sf.log4jdbc.ConnectionSpy@28a2f76f  
org.apache.commons.dbutils.DbUtils.close(DbUtils.java:72)

22:09:17.001 DEBUG jdbc.resultset — [SQL]: (connection:4,28a2f76f). ResultSet.close() вернул  
org.apache.commons.dbutils.DbUtils.close(DbUtils.java:72)

22:09:17.001 DEBUG jdbc.audit — [SQL]: (connection:4,3bf06804). PreparedStatement.close() вернул   
org.apache.commons.dbutils.DbUtils.close(DbUtils.java:84)

selectTest: [2, 2017-04-29 22:09:16.0, 测试中文]

22:09:17.001 INFO jdbc.connection — [SQL]: (connection:4,3bf06804). Connection closed  
org.apache.commons.dbutils.DbUtils.close(DbUtils.java:60)

22:09:17.001 DEBUG jdbc.connection — [SQL]: open connections: none

22:09:17.001 DEBUG jdbc.audit — [SQL]: (connection:4,3bf06804). Connection.close() вернул   
org.apache.commons.dbutils.DbUtils.close(DbUtils.java:60)

22:09:17.011 INFO jdbc.connection — [SQL]: (connection:5,6f9bc97). Connection opened  
java.sql.DriverManager.getConnection(null:-1)

22:09:17.011 DEBUG jdbc.connection — [SQL]: open connections: 5 (1)

22:09:17.011 DEBUG jdbc.audit — [SQL]: (connection:5,6f9bc97). Connection.new Connection вернул   
java.sql.DriverManager.getConnection(null:-1)

22:09:17.011 DEBUG jdbc.audit — [SQL]: (connection:5,6f9bc97). PreparedStatement.new PreparedStatement вернул   
org.apache.commons.dbutils.AbstractQueryRunner.prepareStatement(AbstractQueryRunner.java:154)

22:09:17.011 DEBUG jdbc.audit — [SQL]: (connection:5,6f9bc97). Connection.prepareStatement(update test_curd set name = ? where id >= ?) вернул net.sf.log4jdbc.PreparedStatementSpy@3cf9a477  
org.apache.commons.dbutils.AbstractQueryRunner.prepareStatement(AbstractQueryRunner.java:154)

22:09:17.012 DEBUG jdbc.audit — [SQL]: (connection:5,6f9bc97). PreparedStatement.getParameterMetaData() вернул com.mysql.jdbc.MysqlParameterMetadata@299c9fe7  
org.apache.commons.dbutils.AbstractQueryRunner.fillStatement(AbstractQueryRunner.java:225)

22:09:17.012 DEBUG jdbc.audit — [SQL]: (connection:5,6f9bc97). PreparedStatement.setObject(1, «обновлённое значение») вернул   
org.apache.commons.dbutils.AbstractQueryRunner.fillStatement(AbstractQueryRunner.java:242)

22:09:17.012 DEBUG jdbc.audit — [SQL]: (connection:5,6f9bc97). PreparedStatement.setObject(2, 0) вернул   
org.apache.commons.dbutils.AbstractQueryRunner.fillStatement(AbstractQueryRunner.java:242)

22:09:17.012 DEBUG jdbc.sqlonly — [SQL]: org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:488) (connection:5,6f9bc97). update test_curd set name = 'обновлённое значение' where id >= 0

22:09:17.120 DEBUG jdbc.sqltiming — [SQL]: (connection:5,6f9bc97){update test_curd set name = 'обновлённое значение' where id >= 0 }USE:108ms

22:09:17.120 DEBUG jdbc.audit — [SQL]: (connection:5,6f9bc97). PreparedStatement.executeUpdate() вернул 2   
org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:488)

22:09:17.121 DEBUG jdbc.audit — [SQL]: (connection:5,6f9bc97). PreparedStatement.close() вернул Успешно обновлено 2 записи данных!

22:09:17.122 INFO jdbc.connection - [SQL]:(connection:5,6f9bc97). Соединение закрыто org.apache.commons.dbutils.DbUtils.close(DbUtils.java:60)

22:09:17.122 DEBUG jdbc.connection - [SQL]:открытые соединения: нет
22:09:17.122 DEBUG jdbc.audit - [SQL]:(connection:5,6f9bc97). Connection.close() вернул org.apache.commons.dbutils.DbUtils.close(DbUtils.java:60)

22:09:17.163 INFO jdbc.connection - [SQL]:(connection:6,85132f5). Соединение открыто java.sql.DriverManager.getConnection(null:-1)
22:09:17.163 DEBUG jdbc.connection - [SQL]:открытые соединения: 6 (1)
22:09:17.164 DEBUG jdbc.audit - [SQL]:(connection:6,85132f5). Connection.new Connection вернул java.sql.DriverManager.getConnection(null:-1)

22:09:17.164 DEBUG jdbc.audit - [SQL]:(connection:6,85132f5). PreparedStatement.new PreparedStatement вернул org.apache.commons.dbutils.AbstractQueryRunner.prepareStatement(AbstractQueryRunner.java:154)
22:09:17.164 DEBUG jdbc.audit - [SQL]:(connection:6,85132f5). Connection.prepareStatement(DELETE from test_curd WHERE id = ?) вернул net.sf.log4jdbc.PreparedStatementSpy@23e28c99 org.apache.commons.dbutils.AbstractQueryRunner.prepareStatement(AbstractQueryRunner.java:154)

22:09:17.164 DEBUG jdbc.audit - [SQL]:(connection:6,85132f5). PreparedStatement.getParameterMetaData() вернул com.mysql.jdbc.MysqlParameterMetadata@6e7ca336 org.apache.commons.dbutils.AbstractQueryRunner.fillStatement(AbstractQueryRunner.java:225)
22:09:17.165 DEBUG jdbc.audit - [SQL]:(connection:6,85132f5). PreparedStatement.setObject(1, 0) вернул org.apache.commons.dbutils.AbstractQueryRunner.fillStatement(AbstractQueryRunner.java:242)

22:09:17.165 DEBUG jdbc.sqlonly - [SQL]: org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:488) (connection:6,85132f5). DELETE from test_curd WHERE id = 0
22:09:17.166 DEBUG jdbc.sqltiming - [SQL]:(connection:6,85132f5){DELETE from test_curd WHERE id = 0 }USE:0ms
22:09:17.166 DEBUG jdbc.audit - [SQL]:(connection:6,85132f5). PreparedStatement.executeUpdate() вернул 0 org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:488)

22:09:17.166 DEBUG jdbc.audit - [SQL]:(connection:6,85132f5). PreparedStatement.close() вернул org.apache.commons.dbutils.DbUtils.close(DbUtils.java:84)

Данные успешно удалены!
22:09:17.167 INFO jdbc.connection - [SQL]:(connection:6,85132f5). Соединение закрыто org.apache.commons.dbutils.DbUtils.close(DbUtils.java:60)
22:09:17.167 DEBUG jdbc.connection - [SQL]:открытые соединения: нет
22:09:17.167 DEBUG jdbc.audit - [SQL]:(connection:6,85132f5). Connection.close() вернул org.apache.commons.dbutils.DbUtils.close(DbUtils.java:60)

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Частичная настройка и исследование log4jdbc. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/javard-log4jdbc-sql.git
git@api.gitlife.ru:oschina-mirror/javard-log4jdbc-sql.git
oschina-mirror
javard-log4jdbc-sql
javard-log4jdbc-sql
master