我已将kamon
添加到我的独立 akka 应用程序中,并且我收到此错误:
com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'requires-aspectj'
上的 Kamon.start()
错误。
这是 application.conf 的相对内容。
{
...
modules {
kamon-akka {
auto-start = no
}
kamon-statsd {
auto-start = no
}
kamon-system-metric {
auto-start = no
requires-aspectj = no
extension-id = "kamon.system.SystemMetrics"
}
}
}
application.conf: 36: requires-aspectj has type STRING rather than OBJECT
但是,当我包含被要求的财产时
{
modules {
requires-aspectj = no
...
}
}
我收到此错误:application.conf: 36: requires-aspectj has type STRING rather than OBJECT
如果我删除Kamon.start()
我的应用程序照常启动
这是我的 build.sbt 的摘录:
lazy val root = (project in file("."))
.settings(name := "kamon-akka")
.settings(Seq(scalaVersion := "2.11.8"))
.settings(libraryDependencies ++= Seq(
akka.Http,
akka.slf4jApi,
akka.akkaSlf4j,
kamon.Core,
kamon.Akka,
kamon.LogReporter,
kamon.SystemMetrics,
aspectj.aspectjtools,
aspectj.aspectjweaver,
aspectj.aspectjrt
))
.settings(aspectjSettings: _*)
PS:
addSbtPlugin("com.typesafe.sbt" % "sbt-aspectj" % "0.9.4")
任何想法?
答案 0 :(得分:1)
首先,您的application.conf
看起来很奇怪,因为它似乎没有kamon
命名空间。它应该如下所示(注意第一行):
kamon {
...
modules {
kamon-akka {
...
}
kamon-statsd {
...
}
kamon-system-metrics {
...
}
}
}
其次,由于您使用的是sbt-aspectj
插件,请将以下内容添加到build.sbt
(来源:http://kamon.io/documentation/get-started/):
import com.typesafe.sbt.SbtAspectj._
// Bring the sbt-aspectj settings into this build
aspectjSettings
// Here we are effectively adding the `-javaagent` JVM startup
// option with the location of the AspectJ Weaver provided by
// the sbt-aspectj plugin.
javaOptions in run <++= AspectjKeys.weaverOptions in Aspectj
// We need to ensure that the JVM is forked for the
// AspectJ Weaver to kick in properly and do it's magic.
fork in run := true