Почему я получаю «нет провайдеров SLF4J» в моей банке Scala + Akka?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Почему я получаю «нет провайдеров SLF4J» в моей банке Scala + Akka?

Сообщение Anonymous »

У меня есть JAR-файл, который я создал с помощью плагина сборки для sbt.
Когда я запускаю код через IDE, я вижу журналы созданные моими актерами вместе с журналами из Hibernate.
Когда я запускаю jar в командной строке (

Код: Выделить всё

java -jar JAR_NAME.jar
), я получаю предупреждение:

Код: Выделить всё

SLF4J(W): No SLF4J providers were found.
SLF4J(W): Defaulting to no-operation (NOP) logger implementation
SLF4J(W): See https://www.slf4j.org/codes.html#noProviders for further details.
< /code>
с последующим ни одного из журналов, упомянутых выше. Это затрудняет отладку проблем в производственной сборке. .html и включены "ch.qos.logback" % "logback-classic" % "1.5.16" 
в моем файле сборки, но без эффекта.
ближе всего я получил было добавленным: < /p>

Код: Выделить всё

  "org.slf4j"                       % "slf4j-api"                 % "2.0.16",
"org.slf4j"                       % "slf4j-simple"              % "2.0.16",
"org.slf4j"                       % "slf4j-jdk14"               % "2.0.16",
после чего я получил журналы Hibernate , но ни один из журналов от моих актеров все еще, и все еще оригинальное предупреждение. Полный вывод: < /p>

Код: Выделить всё

SLF4J(W): No SLF4J providers were found.
SLF4J(W): Defaulting to no-operation (NOP) logger implementation
SLF4J(W): See https://www.slf4j.org/codes.html#noProviders for further details.
Jan 23, 2025 6:49:15 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate ORM core version 0.1.0-SNAPSHOT
Jan 23, 2025 6:49:16 PM org.hibernate.cache.internal.RegionFactoryInitiator initiateService
INFO: HHH000026: Second-level cache disabled

...  more hibernate logs
< /code>
Чего мне здесь не хватает? Я знаю, что предупреждение заключается в том, что оно не может найти поставщика на пути к классу, но, конечно, это решается путем добавления зависимостей к Build.sbt 
, как у меня? Файлы: < /p>
logback.xml

Код: Выделить всё




System.out

INFO


%level[%thread] %logger{0} - %msg%n




log/akka.log
false

%date{yyyy-MM-dd} %X{akkaTimestamp} %-5level[%thread] %logger{1} - %msg%n









< /code>
application.of akka {
license-key = ??????????????????????????????????????????
loggers = ["akka.event.slf4j.Slf4jLogger"]
loglevel = "DEBUG"
logging-filter = "akka.event.slf4j.Slf4jLoggingFilter"

use-slf4j = on
}
< /code>
build.sbt
val akkaVersion = "2.8.8" // Latest stable Akka version
val akkaHttpVersion = "10.5.3" // Latest stable Akka-HTTP version

Compile / PB.targets := Seq(
scalapb.gen() -> (Compile / sourceManaged).value / "scalapb"
)

Global / onChangedBuildSource := ReloadOnSourceChanges

libraryDependencies ++= Seq(
"com.typesafe.akka"               %% "akka-http"                % akkaHttpVersion,
"com.typesafe.akka"               %% "akka-http-spray-json"     % akkaHttpVersion,
"com.typesafe.akka"               %% "akka-actor-typed"         % akkaVersion,
"com.typesafe.akka"               %% "akka-stream"              % akkaVersion,

"ch.qos.logback"                  % "logback-classic"           % "1.5.16",

"commons-codec"                   % "commons-codec"             % "1.17.2",
"com.typesafe.akka"               %% "akka-http-testkit"        % akkaHttpVersion                         % Test,
"com.typesafe.akka"               %% "akka-actor-testkit-typed" % akkaVersion                             % Test,
"org.scalatest"                   %% "scalatest"                % "3.2.19"                                % Test,
"org.hibernate.orm"               % "hibernate-core"            % "6.6.3.Final",
"org.hibernate.validator"         % "hibernate-validator"       % "8.0.0.Final",
"org.glassfish"                   % "jakarta.el"                % "5.0.0-M1"                              % Test,
"io.agroal"                       % "agroal-pool"               % "2.5",
"org.hibernate.orm"               % "hibernate-agroal"          % "6.4.4.Final",
"com.mysql"                       % "mysql-connector-j"         % "9.1.0",
"jakarta.el"                      % "jakarta.el-api"            % "6.0.1",
"com.sun.el"                      % "el-ri"                     % "3.0.4",
"jakarta.el"                      % "jakarta.el-api"            % "6.0.1",
"com.lihaoyi"                     %% "upickle"                  % "4.1.0",
"com.thesamet.scalapb"            %% "scalapb-runtime"           % scalapb.compiler.Version.scalapbVersion % "protobuf"
)

ThisBuild / version := "0.1.0-SNAPSHOT"

ThisBuild / scalaVersion := "3.3.4"

lazy val root = (project in file("."))
.settings(
name := "Hydra",
Compile / mainClass := Some("server.WebServer")
)

assembly/assemblyMergeStrategy := {
case PathList("META-INF", xs@_*) => MergeStrategy.discard
case PathList("google", "protobuf", xs@_*) => MergeStrategy.first
case PathList("module-info.class") => MergeStrategy.last
case path if path.endsWith("/module-info.class") => MergeStrategy.last
case PathList("reference.conf") => MergeStrategy.concat
case x =>
val oldStrategy = (assembly/assemblyMergeStrategy).value
oldStrategy(x)
}
Чтобы построить жирную банку, я запускаю сборку в оболочке sbt , которая дает мне окончательную банку.


Подробнее здесь: https://stackoverflow.com/questions/793 ... a-akka-jar
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»