# Hard dependency on scala-logging and logback-classic?

**URL:** <https://softwaremill.community/t/hard-dependency-on-scala-logging-and-logback-classic/363>\
**Category:** tapir\
**Created:** [January 18, 2024, 7:07pm UTC](https://softwaremill.community/t/hard-dependency-on-scala-logging-and-logback-classic/363 "2024-01-18T19:07:45Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![hygt](https://dub1.discourse-cdn.com/flex005/user_avatar/softwaremill.community/hygt/32/188_2.png) [@hygt](https://softwaremill.community/u/hygt)\
**Post date:** [January 18, 2024, 7:07pm UTC](https://softwaremill.community/t/hard-dependency-on-scala-logging-and-logback-classic/363/1 "2024-01-18T19:07:45Z")

</div>

Hello,  
While trying out tapir-nima-server I realized that a couple modules depend on:

```scala
lazy val loggerDependencies = Seq(
  "ch.qos.logback" % "logback-classic" % "1.4.14",
  "com.typesafe.scala-logging" %% "scala-logging" % "3.9.5"
)

```

Namely

- tapir-grpc-protobuf
- tapir-jdkhttp-server
- tapir-netty-server(-\*)
- tapir-nima-server
- a bunch of test related modules (those are fine)

This is surprising as:

- Logback (and other logging backends) should never come as a transitive dependency.
- Scala-logging depends on SLF4J 1.7 which causes issues with SLF4J 2.0 compatible backends, such as Logback 1.4!

In my opinion:

- Logback should be removed as a dependency outside test modules.
- Scala-logging internal usage should be removed entirely for SLF4J (2.0 at this point).

I can open the PR, but I’m trying to figure out the context here, maybe I’m missing something. 🙂

---

<div class="post-metadata">

**Author:** ![adamw](https://dub1.discourse-cdn.com/flex005/user_avatar/softwaremill.community/adamw/32/28_2.png) [@adamw](https://softwaremill.community/u/adamw)\
**Post date:** [January 18, 2024, 7:34pm UTC](https://softwaremill.community/t/hard-dependency-on-scala-logging-and-logback-classic/363/2 "2024-01-18T19:34:37Z")

</div>

Yes you’re right, especially the server modules should depend only on a logging interface (slf4j is a good choice 🙂 ). PR would be great!

---

<div class="post-metadata">

**Author:** ![kciesielski](https://dub1.discourse-cdn.com/flex005/user_avatar/softwaremill.community/kciesielski/32/133_2.png) [@kciesielski](https://softwaremill.community/u/kciesielski)\
**Post date:** [January 19, 2024, 10:23am UTC](https://softwaremill.community/t/hard-dependency-on-scala-logging-and-logback-classic/363/3 "2024-01-19T10:23:59Z")

</div>

I created an issue [[BUG] Hard dependency on scala-logging and logback · Issue #3464 · softwaremill/tapir · GitHub](https://github.com/softwaremill/tapir/issues/3464)
