aboutsummaryrefslogtreecommitdiff
path: root/kamon-trace/src
diff options
context:
space:
mode:
authorivantopo <ivantopo@gmail.com>2013-12-26 10:26:52 -0800
committerivantopo <ivantopo@gmail.com>2013-12-26 10:26:52 -0800
commitd04ba88cc5abba81b2332661170b96320cad9182 (patch)
tree4fb187bc073f04c733e0e0b3949722ee50ef5a03 /kamon-trace/src
parentda5f0b89ab1912c84f948872fa54bef761ffe173 (diff)
parent9fd83d6a2d53e93e8d5042eeea722e1992e760b5 (diff)
downloadKamon-d04ba88cc5abba81b2332661170b96320cad9182.tar.gz
Kamon-d04ba88cc5abba81b2332661170b96320cad9182.tar.bz2
Kamon-d04ba88cc5abba81b2332661170b96320cad9182.zip
Merge pull request #11 from crypticmind/master
-MDC +Logback Converter
Diffstat (limited to 'kamon-trace/src')
-rw-r--r--kamon-trace/src/main/scala/kamon/trace/UowTracing.scala2
-rw-r--r--kamon-trace/src/main/scala/kamon/trace/instrumentation/ActorLoggingTracing.scala12
-rw-r--r--kamon-trace/src/main/scala/kamon/trace/logging/LogbackUowConverter.scala24
3 files changed, 28 insertions, 10 deletions
diff --git a/kamon-trace/src/main/scala/kamon/trace/UowTracing.scala b/kamon-trace/src/main/scala/kamon/trace/UowTracing.scala
index 3d1a7778..20cce830 100644
--- a/kamon-trace/src/main/scala/kamon/trace/UowTracing.scala
+++ b/kamon-trace/src/main/scala/kamon/trace/UowTracing.scala
@@ -79,4 +79,4 @@ class UowTraceAggregator(reporting: ActorRef, aggregationTimeout: Duration) exte
object UowTraceAggregator {
def props(reporting: ActorRef, aggregationTimeout: Duration) = Props(classOf[UowTraceAggregator], reporting, aggregationTimeout)
-} \ No newline at end of file
+}
diff --git a/kamon-trace/src/main/scala/kamon/trace/instrumentation/ActorLoggingTracing.scala b/kamon-trace/src/main/scala/kamon/trace/instrumentation/ActorLoggingTracing.scala
index 783fd6e1..0d06eb2c 100644
--- a/kamon-trace/src/main/scala/kamon/trace/instrumentation/ActorLoggingTracing.scala
+++ b/kamon-trace/src/main/scala/kamon/trace/instrumentation/ActorLoggingTracing.scala
@@ -17,8 +17,7 @@ package kamon.trace.instrumentation
import org.aspectj.lang.annotation.{ Around, Pointcut, DeclareMixin, Aspect }
import org.aspectj.lang.ProceedingJoinPoint
-import org.slf4j.MDC
-import kamon.trace.{ TraceContext, ContextAware, Trace }
+import kamon.trace.{ ContextAware, Trace }
@Aspect
class ActorLoggingTracing {
@@ -31,13 +30,8 @@ class ActorLoggingTracing {
@Around("withMdcInvocation(logSource, logEvent, logStatement)")
def aroundWithMdcInvocation(pjp: ProceedingJoinPoint, logSource: String, logEvent: ContextAware, logStatement: () ⇒ _): Unit = {
- logEvent.traceContext match {
- case Some(ctx) ⇒
- MDC.put("uow", ctx.uow)
- pjp.proceed()
- MDC.remove("uow")
-
- case None ⇒ pjp.proceed()
+ Trace.withContext(logEvent.traceContext) {
+ pjp.proceed()
}
}
}
diff --git a/kamon-trace/src/main/scala/kamon/trace/logging/LogbackUowConverter.scala b/kamon-trace/src/main/scala/kamon/trace/logging/LogbackUowConverter.scala
new file mode 100644
index 00000000..add47fdf
--- /dev/null
+++ b/kamon-trace/src/main/scala/kamon/trace/logging/LogbackUowConverter.scala
@@ -0,0 +1,24 @@
+/* ===================================================
+ * Copyright © 2013 the kamon project <http://kamon.io/>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+package kamon.trace.logging
+
+import ch.qos.logback.classic.pattern.ClassicConverter
+import ch.qos.logback.classic.spi.ILoggingEvent
+import kamon.trace.Trace
+
+class LogbackUowConverter extends ClassicConverter {
+ def convert(event: ILoggingEvent): String = Trace.context().map(_.uow).getOrElse("undefined")
+}