From 88af5cf513e44efcf84bc7f92e02deb3c7597686 Mon Sep 17 00:00:00 2001 From: Diego Parra Date: Thu, 19 Sep 2013 08:58:34 -0300 Subject: first and simple implementation of NewRelicErrorLogger --- kamon-core/src/main/resources/application.conf | 3 ++- .../scala/kamon/newrelic/NewRelicErrorLogger.scala | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 kamon-core/src/main/scala/kamon/newrelic/NewRelicErrorLogger.scala (limited to 'kamon-core/src/main') 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) + } +} -- cgit v1.2.3