The appender way is the easiest way but there are bunch of caveats to that method. We used to do it this way but needed more flexibility.

If you are going to do it the custom Appender way I recommend not using the MDC. You also can really only have pretty static attributes.

For example for Spring MVC we actually add the routing path to the MDC and thus the Appender would not be helpful. 

Yeah you could make a unified thread local context that your custom appender uses but that is basically what the MDC is.

There is also the tricky biz of handing of dynamic MDC information to child threads. Again for example for every request we generate a uuid so that we can track that request and everything it executes.

But if your attributes are mainly static I agree that the custom appender is the route to go.... I feel stupid for not mentioning it first.

On Sun, Mar 12, 2017 at 8:51 AM, David Tkaczyk <davidtkaczyk69@gmail.com> wrote:
Extend your preferred appender.

On Mar 12, 2017 6:59 AM, <logback-user-request@qos.ch> wrote:
Send logback-user mailing list submissions to
        logback-user@qos.ch

To subscribe or unsubscribe via the World Wide Web, visit
        http://mailman.qos.ch/mailman/listinfo/logback-user
or, via email, send a message with subject or body 'help' to
        logback-user-request@qos.ch

You can reach the person managing the list at
        logback-user-owner@qos.ch

When replying, please edit your Subject line so it is more specific
than "Re: Contents of logback-user digest..."

Today's Topics:

   1. Recommendations on including manifest implementation
      information into logging events (Andrew Feller)


---------- Forwarded message ----------
From: Andrew Feller <afeller@bandwidth.com>
To: logback-user@qos.ch
Cc: 
Bcc: 
Date: Sat, 11 Mar 2017 14:59:35 -0500
Subject: [logback-user] Recommendations on including manifest implementation information into logging events
Does anyone have recommendations on how to best to add manifest implementation information (Implementation-Title, Implementation-Version, etc) to logback MDC trivially?

I know this information can retrieved programmatically from a package (Package.getImplementationTitle(), Package.getImplementationVersion(), etc), but I'd rather avoid having every application hardcode logic on startup to determine this and stash it in MDC for later use.  I would also like to avoid hard coding this information within logback.xml / logback-spring.xml as the manifest is the source of truth.

Any recommendations would be greatly appreciated!
-- 

email-signature-logo.jpg

Andy Feller

Sr. DevOps Engineer
900 Main Campus Drive, Suite 500

Raleigh, NC 27606

Bandwidth
e afeller@bandwidth.com


_______________________________________________
logback-user mailing list
logback-user@qos.ch
http://mailman.qos.ch/mailman/listinfo/logback-user

_______________________________________________
logback-user mailing list
logback-user@qos.ch
http://mailman.qos.ch/mailman/listinfo/logback-user



--
CTO
SnapHop (snaphop.com)
(twitter) @agentgt (linkedin) http://www.linkedin.com/in/agentgt (cell) 781-883-5182