diff options
Diffstat (limited to 'kamon-core/src')
-rw-r--r-- | kamon-core/src/main/resources/application.conf | 3 | ||||
-rw-r--r-- | kamon-core/src/main/scala/kamon/newrelic/NewRelicErrorLogger.scala | 18 |
2 files changed, 20 insertions, 1 deletions
diff --git a/kamon-core/src/main/resources/application.conf b/kamon-core/src/main/resources/application.conf index 2f8d8d87..b4c8b7f6 100644 --- a/kamon-core/src/main/resources/application.conf +++ b/kamon-core/src/main/resources/application.conf @@ -2,7 +2,8 @@ akka { loglevel = DEBUG stdout-loglevel = DEBUG - extensions = ["kamon.dashboard.DashboardExtension"] + #extensions = ["kamon.dashboard.DashboardExtension"] + event-handlers = ["kamon.newrelic.NewRelicErrorLogger"] actor { default-dispatcher { diff --git a/kamon-core/src/main/scala/kamon/newrelic/NewRelicErrorLogger.scala b/kamon-core/src/main/scala/kamon/newrelic/NewRelicErrorLogger.scala new file mode 100644 index 00000000..4bc49496 --- /dev/null +++ b/kamon-core/src/main/scala/kamon/newrelic/NewRelicErrorLogger.scala @@ -0,0 +1,18 @@ +package kamon.newrelic + +import akka.actor.Actor +import akka.event.Logging.Error +import akka.event.Logging.{LoggerInitialized, InitializeLogger} +import com.newrelic.api.agent.NewRelic +import NewRelic.noticeError + +class NewRelicErrorLogger extends Actor { + def receive = { + case InitializeLogger(_) => sender ! LoggerInitialized + case error @ Error(cause, logSource, logClass, message) => notifyError(error) + } + + def notifyError(error: Error): Unit = { + noticeError(error.cause) + } +} |