aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main
diff options
context:
space:
mode:
authorDiego Parra <diegolparra@gmail.com>2013-09-19 08:58:34 -0300
committerDiego Parra <diegolparra@gmail.com>2013-09-19 08:58:34 -0300
commit88af5cf513e44efcf84bc7f92e02deb3c7597686 (patch)
tree61c031b740378d4539c9a6595c115cd62a542ff9 /kamon-core/src/main
parente457fb4d3b8535c27343c80c45fdbe7fa7a93dae (diff)
downloadKamon-88af5cf513e44efcf84bc7f92e02deb3c7597686.tar.gz
Kamon-88af5cf513e44efcf84bc7f92e02deb3c7597686.tar.bz2
Kamon-88af5cf513e44efcf84bc7f92e02deb3c7597686.zip
first and simple implementation of NewRelicErrorLogger
Diffstat (limited to 'kamon-core/src/main')
-rw-r--r--kamon-core/src/main/resources/application.conf3
-rw-r--r--kamon-core/src/main/scala/kamon/newrelic/NewRelicErrorLogger.scala18
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)
+ }
+}