问题描述
这可能是一个愚蠢的问题,但是我的scala知识有点缺乏。我正在尝试在Scala中实现结构化日志记录,而我们正在使用slf4j / logback / logstash。我遇到了以下帖子:How does SLF4J support structured logging描述了如何做:
import static net.logstash.logback.argument.StructuredArguments.*;
/*
* Add "name":"value" ONLY to the JSON output.
*
* Since there is no parameter for the argument,* the formatted message will NOT contain the key/value.
*
* If this looks funny to you or to static analyzers,* consider using Markers instead.
*/
logger.info("log message",keyvalue("name","value"));
显然这是Java代码,而不是scala。我已经对其进行了转换,但是找不到net.logstash.logback.argument.StructuredArguments.keyvalue。我猜这是因为它没有包含在构建中,但这是我绊倒的地方。
"net.logstash.logback" %% "logstash-logback-encoder" % VersionOf.`logstash`
但是sbt无法找到该软件包(版本为1.2.1)。还令我困惑的是,我们其他的logback依赖项是从组ID ch.qos.logback中提取的。我真的不太了解ch.qos.logback是什么,为什么它与net.logstash.logback不同。
长话短说,我需要使用sbt导入什么程序包,以便可以使用StructuredArguments / keyvalues进行日志记录?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)