From 7722d3f3e44b8b17fcc9df0656841877e8719511 Mon Sep 17 00:00:00 2001 From: "Nathan J. Mehl" Date: Mon, 17 Oct 2022 13:08:41 -0400 Subject: [PATCH] Use logback for logging - add logback jars to all components - pin slf4j version to what's bundled w/ logback-classic --- README.md | 8 +++ clickhouse-cli-client/pom.xml | 46 ++++++++++++++++ clickhouse-client/pom.xml | 43 ++++++++++++++- clickhouse-grpc-client/pom.xml | 46 ++++++++++++++++ clickhouse-http-client/pom.xml | 46 ++++++++++++++++ clickhouse-jdbc/pom.xml | 45 +++++++++++++++ .../src/main/resources/logback.xml | 32 +++++++++++ pom.xml | 55 +++++++++++++++---- 8 files changed, 309 insertions(+), 12 deletions(-) create mode 100644 clickhouse-jdbc/src/main/resources/logback.xml diff --git a/README.md b/README.md index 39cb5f2f1..34720864d 100644 --- a/README.md +++ b/README.md @@ -177,6 +177,14 @@ Use `mvn -DskipITs clean verify` to compile and generate packages if you're usin ``` +## Logging + + You can customize logging configuration in `logback.xml` for each component, e.g. [clickhouse-jdbc/src/main/resources/logback.xml](clickhouse-jdbc/src/main/resources/logback.xml). See the [logback documentation](https://logback.qos.ch/manual/configuration.html) for details about the contents of this file. + + Note that the default logging level is `trace` -- you may wish to set this to `info` or `warning` for less verbose logs in production. + + Note also that the default logging format is the default plaintext format suggested by logback. We also provide (by way of example) a structured log appender named `JSON_STDOUT`; to use it you will need to change the `appender-ref` property of the root logger to point to it. + ## Testing By default, [docker](https://docs.docker.com/engine/install/) is required to run integration test. Docker image(defaults to `clickhouse/clickhouse-server`) will be pulled from Internet, and containers will be created automatically by [testcontainers](https://www.testcontainers.org/) before testing. To test against specific version of ClickHouse, you can pass parameter like `-DclickhouseVersion=22.3` to Maven. diff --git a/clickhouse-cli-client/pom.xml b/clickhouse-cli-client/pom.xml index 68ccff155..09e6ae92b 100644 --- a/clickhouse-cli-client/pom.xml +++ b/clickhouse-cli-client/pom.xml @@ -14,6 +14,15 @@ Wrapper of ClickHouse native command-line client https://github.com/ClickHouse/clickhouse-jdbc/tree/master/clickhouse-cli-client + + 2.0.1 + 1.3.4 + 0.1.5 + 0.1.5 + 2.13.4 + 2.13.4.1 + + ${project.parent.groupId} @@ -32,6 +41,43 @@ provided + + + org.slf4j + slf4j-api + ${slf4j.version} + + + org.slf4j + slf4j-simple + ${slf4j.version} + + + ch.qos.logback + logback-classic + ${logback.version} + + + ch.qos.logback.contrib + logback-json-classic + ${logback-json.version} + + + ch.qos.logback.contrib + logback-jackson + ${logback-jackson.version} + + + com.fasterxml.jackson.core + jackson-core + ${jackson.version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson-databind.version} + + ${project.parent.groupId} clickhouse-client diff --git a/clickhouse-client/pom.xml b/clickhouse-client/pom.xml index f41e148d8..6cd52eb18 100644 --- a/clickhouse-client/pom.xml +++ b/clickhouse-client/pom.xml @@ -14,6 +14,15 @@ Unified Java client for ClickHouse https://github.com/ClickHouse/clickhouse-jdbc/tree/master/clickhouse-client + + 2.0.1 + 1.3.4 + 0.1.5 + 0.1.5 + 2.13.4 + 2.13.4.1 + + ${project.parent.groupId} @@ -47,10 +56,42 @@ lz4-java provided + + org.slf4j slf4j-api - provided + ${slf4j.version} + + + org.slf4j + slf4j-simple + ${slf4j.version} + + + ch.qos.logback + logback-classic + ${logback.version} + + + ch.qos.logback.contrib + logback-json-classic + ${logback-json.version} + + + ch.qos.logback.contrib + logback-jackson + ${logback-jackson.version} + + + com.fasterxml.jackson.core + jackson-core + ${jackson.version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson-databind.version} diff --git a/clickhouse-grpc-client/pom.xml b/clickhouse-grpc-client/pom.xml index 66279ffb2..8950320c7 100644 --- a/clickhouse-grpc-client/pom.xml +++ b/clickhouse-grpc-client/pom.xml @@ -14,6 +14,15 @@ gRPC client for ClickHouse https://github.com/ClickHouse/clickhouse-jdbc/tree/master/clickhouse-grpc-client + + 2.0.1 + 1.3.4 + 0.1.5 + 0.1.5 + 2.13.4 + 2.13.4.1 + + ${project.parent.groupId} @@ -55,6 +64,43 @@ provided + + + org.slf4j + slf4j-api + ${slf4j.version} + + + org.slf4j + slf4j-simple + ${slf4j.version} + + + ch.qos.logback + logback-classic + ${logback.version} + + + ch.qos.logback.contrib + logback-json-classic + ${logback-json.version} + + + ch.qos.logback.contrib + logback-jackson + ${logback-jackson.version} + + + com.fasterxml.jackson.core + jackson-core + ${jackson.version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson-databind.version} + + ${project.parent.groupId} clickhouse-client diff --git a/clickhouse-http-client/pom.xml b/clickhouse-http-client/pom.xml index 4edd2ecae..6daf5fcfe 100644 --- a/clickhouse-http-client/pom.xml +++ b/clickhouse-http-client/pom.xml @@ -14,6 +14,15 @@ HTTP client for ClickHouse https://github.com/ClickHouse/clickhouse-jdbc/tree/master/clickhouse-http-client + + 2.0.1 + 1.3.4 + 0.1.5 + 0.1.5 + 2.13.4 + 2.13.4.1 + + ${project.parent.groupId} @@ -47,6 +56,43 @@ provided + + + org.slf4j + slf4j-api + ${slf4j.version} + + + org.slf4j + slf4j-simple + ${slf4j.version} + + + ch.qos.logback + logback-classic + ${logback.version} + + + ch.qos.logback.contrib + logback-json-classic + ${logback-json.version} + + + ch.qos.logback.contrib + logback-jackson + ${logback-jackson.version} + + + com.fasterxml.jackson.core + jackson-core + ${jackson.version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson-databind.version} + + ${project.parent.groupId} clickhouse-client diff --git a/clickhouse-jdbc/pom.xml b/clickhouse-jdbc/pom.xml index 83deec78e..ba65898ae 100644 --- a/clickhouse-jdbc/pom.xml +++ b/clickhouse-jdbc/pom.xml @@ -19,6 +19,13 @@ 4.1.4 JDBC 4.2 + + 2.0.1 + 1.3.4 + 0.1.5 + 0.1.5 + 2.13.4 + 2.13.4.1 @@ -85,6 +92,43 @@ ${httpclient.version} + + + org.slf4j + slf4j-api + ${slf4j.version} + + + org.slf4j + slf4j-simple + ${slf4j.version} + + + ch.qos.logback + logback-classic + ${logback.version} + + + ch.qos.logback.contrib + logback-json-classic + ${logback-json.version} + + + ch.qos.logback.contrib + logback-jackson + ${logback-jackson.version} + + + com.fasterxml.jackson.core + jackson-core + ${jackson.version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson-databind.version} + + ${project.parent.groupId} clickhouse-client @@ -107,6 +151,7 @@ org.slf4j slf4j-simple + ${slf4j.version} test diff --git a/clickhouse-jdbc/src/main/resources/logback.xml b/clickhouse-jdbc/src/main/resources/logback.xml new file mode 100644 index 000000000..4b007d568 --- /dev/null +++ b/clickhouse-jdbc/src/main/resources/logback.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + + true + yyyy-MM-dd'T'HH:mm:ss.SSSX + Etc/UTC + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 2390a6d85..5489adc46 100644 --- a/pom.xml +++ b/pom.xml @@ -93,12 +93,18 @@ 3.21.4 1.8.0 0.9.31 - 2.0.0-beta0 3.12.4 2.33.2 1.17.3 7.5 + 2.0.1 + 1.3.4 + 0.1.5 + 0.1.5 + 2.13.4 + 2.13.4.1 + 3.0.7 8.0.30 42.4.1 @@ -247,16 +253,6 @@ RoaringBitmap ${roaring-bitmap.version} - - org.slf4j - slf4j-api - ${slf4j.version} - - - org.slf4j - slf4j-simple - ${slf4j.version} - org.mockito mockito-core @@ -278,6 +274,43 @@ ${testng.version} + + + org.slf4j + slf4j-api + ${slf4j.version} + + + org.slf4j + slf4j-simple + ${slf4j.version} + + + ch.qos.logback + logback-classic + ${logback.version} + + + ch.qos.logback.contrib + logback-json-classic + ${logback-json.version} + + + ch.qos.logback.contrib + logback-jackson + ${logback-jackson.version} + + + com.fasterxml.jackson.core + jackson-core + ${jackson.version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson-databind.version} + + org.mariadb.jdbc mariadb-java-client