Skip to content

Commit e406d3c

Browse files
committed
Snowflake Ingest SDK logs adhere to application's log level
Since the 0.2.4 release, the application logs contain lots of extra log lines, e.g.: ``` Oct 21, 2024 8:19:50 PM net.snowflake.client.jdbc.cloud.storage.SnowflakeS3Client upload INFO: Starting upload from stream (byte stream) to S3 location: <redacted>/streaming_ingest/2024/10/21/20/19/<redacted>_1003_24_0.bdec ``` This fix makes the snowflake sdk use SLF4J as the logger. Therefore it only logs at WARN or above by default.
1 parent c6cc6a2 commit e406d3c

File tree

2 files changed

+18
-6
lines changed

2 files changed

+18
-6
lines changed

build.sbt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,44 +27,44 @@ lazy val core: Project = project
2727

2828
lazy val kafka: Project = project
2929
.in(file("modules/kafka"))
30-
.settings(BuildSettings.kafkaSettings)
30+
.settings(BuildSettings.kafkaSettings ++ BuildSettings.dockerSettingsUbuntu)
3131
.settings(libraryDependencies ++= Dependencies.kafkaDependencies)
3232
.dependsOn(core)
3333
.enablePlugins(BuildInfoPlugin, JavaAppPackaging, SnowplowDockerPlugin)
3434

3535
lazy val kafkaDistroless: Project = project
3636
.in(file("modules/distroless/kafka"))
37-
.settings(BuildSettings.kafkaSettings)
37+
.settings(BuildSettings.kafkaSettings ++ BuildSettings.dockerSettingsDistroless)
3838
.settings(libraryDependencies ++= Dependencies.kafkaDependencies)
3939
.settings(sourceDirectory := (kafka / sourceDirectory).value)
4040
.dependsOn(core)
4141
.enablePlugins(BuildInfoPlugin, JavaAppPackaging, SnowplowDistrolessDockerPlugin)
4242

4343
lazy val pubsub: Project = project
4444
.in(file("modules/pubsub"))
45-
.settings(BuildSettings.pubsubSettings)
45+
.settings(BuildSettings.pubsubSettings ++ BuildSettings.dockerSettingsUbuntu)
4646
.settings(libraryDependencies ++= Dependencies.pubsubDependencies)
4747
.dependsOn(core)
4848
.enablePlugins(BuildInfoPlugin, JavaAppPackaging, SnowplowDockerPlugin)
4949

5050
lazy val pubsubDistroless: Project = project
5151
.in(file("modules/distroless/pubsub"))
52-
.settings(BuildSettings.pubsubSettings)
52+
.settings(BuildSettings.pubsubSettings ++ BuildSettings.dockerSettingsDistroless)
5353
.settings(libraryDependencies ++= Dependencies.pubsubDependencies)
5454
.settings(sourceDirectory := (pubsub / sourceDirectory).value)
5555
.dependsOn(core)
5656
.enablePlugins(BuildInfoPlugin, JavaAppPackaging, SnowplowDistrolessDockerPlugin)
5757

5858
lazy val kinesis: Project = project
5959
.in(file("modules/kinesis"))
60-
.settings(BuildSettings.kinesisSettings)
60+
.settings(BuildSettings.kinesisSettings ++ BuildSettings.dockerSettingsUbuntu)
6161
.settings(libraryDependencies ++= Dependencies.kinesisDependencies)
6262
.dependsOn(core)
6363
.enablePlugins(BuildInfoPlugin, JavaAppPackaging, SnowplowDockerPlugin)
6464

6565
lazy val kinesisDistroless: Project = project
6666
.in(file("modules/distroless/kinesis"))
67-
.settings(BuildSettings.kinesisSettings)
67+
.settings(BuildSettings.kinesisSettings ++ BuildSettings.dockerSettingsDistroless)
6868
.settings(libraryDependencies ++= Dependencies.kinesisDependencies)
6969
.settings(sourceDirectory := (kinesis / sourceDirectory).value)
7070
.dependsOn(core)

project/BuildSettings.scala

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import sbtbuildinfo.BuildInfoPlugin.autoImport._
1818
import sbtbuildinfo.BuildInfoPlugin.autoImport._
1919
import sbtdynver.DynVerPlugin.autoImport._
2020
import com.typesafe.sbt.packager.docker.DockerPlugin.autoImport._
21+
import com.typesafe.sbt.packager.universal.UniversalPlugin.autoImport._
2122
import de.heikoseeberger.sbtheader.HeaderPlugin.autoImport._
2223

2324
import scala.sys.process._
@@ -62,6 +63,17 @@ object BuildSettings {
6263
)
6364
)
6465

66+
lazy val dockerSettingsUbuntu = Seq(
67+
Universal / javaOptions ++= Seq("-Dnet.snowflake.jdbc.loggerImpl=net.snowflake.client.log.SLF4JLogger")
68+
)
69+
70+
lazy val dockerSettingsDistroless = Seq(
71+
dockerEntrypoint := {
72+
val orig = dockerEntrypoint.value
73+
orig.head +: "-Dnet.snowflake.jdbc.loggerImpl=net.snowflake.client.log.SLF4JLogger" +: orig.tail
74+
}
75+
)
76+
6577
lazy val appSettings = Seq(
6678
buildInfoKeys := Seq[BuildInfoKey](dockerAlias, name, version),
6779
buildInfoPackage := "com.snowplowanalytics.snowplow.snowflake",

0 commit comments

Comments
 (0)