Я регистрирую запрос SQL и использую StrictLogging com.typesafe.scalalogging версии 3.9.2. Запрос SQL получен из Quill (io.getQuill). У него есть метод, который дает запрос SQL в форме monix.eval.Task [String]. Я пытаюсь зарегистрировать запрос, используя
for {
// some code
q <- ctx.translate(queryObject) // gives a Task[String]
_ = logger.info(q)
//some code
, и регистрирую идентификатор трассировки, используя
Kamon.currentSpan()
Но для приведенного выше фрагмента кода currentSpan теряет идентификатор трассировки и «» регистрируется вместо traceID. У меня есть другой кусок кода, который дает val taskDelay = Task {Thread.sleep (2000) «ТЕСТОВАЯ ЗАДАЧА ДЛЯ ЗАДАЧИ КВИЛЛА»}… yield, а затем выполнить аналогичное для for {
//ONLY FOR TESTING IF TASK is the reason for trace ID to disappear
t <- taskDelay
_ = logger.info("TESTING TASK::::" + t)
// some code
} yield ……
, но для этого, «TESTING TASK ::::» регистрируется с правильным идентификатором трассировки. Может ли кто-нибудь помочь выяснить, в чем разница между двумя? Мои зависимости
Seq(
"io.kamon" %% "kamon-core" % "1.1.5",
"io.kamon" %% "kamon-scala-future" % "1.0.0",
"io.kamon" %% "kamon-zipkin" % "1.0.1",
"io.kamon" %% "kamon-logback" % "1.0.5",
"com.typesafe.scala-logging" %% "scala-logging" % “3.9.2
)