From 15367bdf6c131d039713116734a4e0d8b11ec9a0 Mon Sep 17 00:00:00 2001 From: Ivan Topolnjak Date: Mon, 17 Mar 2014 01:04:38 -0300 Subject: some basic logging documentation --- site/src/main/jekyll/core/logging.md | 43 ++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'site/src/main/jekyll/core/logging.md') diff --git a/site/src/main/jekyll/core/logging.md b/site/src/main/jekyll/core/logging.md index e69de29b..d8324f82 100644 --- a/site/src/main/jekyll/core/logging.md +++ b/site/src/main/jekyll/core/logging.md @@ -0,0 +1,43 @@ +--- +title: Kamon | Core | Documentation +layout: default +--- + +Logging +======= + +Kamon provides a very simple way to make sure that the trace token available when the log statement was executed is +included in your logs, no matter if you are logging synchronously or asynchronously. Kamon provides built in support +for logging with Logback, but extending the support to any other logging framework should be a trivial task. + +When using `ActorLogging` all logging events are sent to your actor system's event stream and then picked up by your +registered listeners for actual logging. Akka captures the actor, thread and timestamp from the instant in which the +event was generated and makes that info available when performing the actual logging. As an addition to this, Kamon +attaches the `TraceContext` that is present when creating the log events and makes it available when the actual logging +is performed. If you are using the loggers directly then the `TraceContext` should be already available. + +`TraceRecorder.currentContext` gives you access to the currently `TraceContext`, so the following expression gives you +the trace token for the currently available context: + +```scala +TraceRecorder.currentContext.map(_.token) +``` + +Kamon already packs a Logback converter that you can register in your `logback.xml` file and use in your logging +patterns as show bellow: + +```xml + + + + + %date{HH:mm:ss.SSS} %-5level [%traceToken][%X{akkaSource}] %msg%n + + + + + + + + +``` -- cgit v1.2.3