Show Table of Contents
16.2. Logging per Application
Overview
Using Mapped Diagnostic Context (MDC) logging, you create a separate log file for each of your applications. The basic idea of MDC logging is that you associate each logging message with a particular context (for example, by associating it with a set of key-value pairs). Later on, when it comes to writing the log stream, you can use the context data to sort or filter the logging messages in various ways.
Note
MDC logging is supported only by log4j and slf4j.
Application key
To use MDC logging, you must define a unique MDC key for each of your applications. The MDC key is a string that is associated with one application or logging context. At runtime, you can then use the application key to sort logging messages and write them into separate files for each application key.
Enabling per application logging
To enable per application logging:
- In each of your applications, edit the Java source code to define a unique application key.If you are using slf4j, add the following static method call to your application:
org.slf4j.MDC.put("app.name","MyFooApp");If you are using log4j, add the following static method call to your application:org.apache.log4j.MDC.put("app.name","MyFooApp"); - Edit the
etc/org.ops4j.pax.loggingPID to customize the sift appender.- Set
log4j.appender.sift.keytoapp.name. - Set
log4j.appender.sift.appender.fileto=${karaf.data}/log/$\\{app.name\\}.log.
- Edit the
etc/org.ops4j.pax.loggingPID to add the sift appender to the root logger.JBossFuse:karaf@root>config:edit org.ops4j.pax.loggingJBossFuse:karaf@root>config:propset log4j.rootLogger "INFO, out, sift, osgi:VmLogAppender"JBossFuse:karaf@root>config:update

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.