You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Bertrand Delacretaz (JIRA)" <ji...@apache.org> on 2013/09/09 14:32:54 UTC

[jira] [Commented] (SLING-3048) Filter to populate SLF4J MDC with request details

    [ https://issues.apache.org/jira/browse/SLING-3048?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13761799#comment-13761799 ] 

Bertrand Delacretaz commented on SLING-3048:
--------------------------------------------

Thanks very much for your contribution, for now I have committed it under https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/slf4j-mdc with minor changes (minor typos), please cross-check.

Now, there are no automated tests ;-)

The simplest might be an integration test that activates this bundle, configures some additional captures and verifies the resulting log. Maybe using the Sling testing tools as in the SLING-2803 it-http module (Radu's second patch from July 2nd) would be an easy way to do that.
                
> Filter to populate SLF4J MDC with request details
> -------------------------------------------------
>
>                 Key: SLING-3048
>                 URL: https://issues.apache.org/jira/browse/SLING-3048
>             Project: Sling
>          Issue Type: Improvement
>          Components: Extensions
>            Reporter: Chetan Mehrotra
>         Attachments: org.apache.sling.extensions.mdc-0.0.1-SNAPSHOT-src.zip
>
>
> With Commons Log moving to Logback its possible to use MDC [1] support of SLF4J in Sling to get better logs and also enable better filtering of logs. The patch adds a new extension module which registers a {{MDCInsertingFilter}}. This filter can extract information from incoming request and add them to the MDC
> Features supported
> 1. By default expose details like Request path, Query String etc based on [3]
> 2. Exposes OSGi config where one can define what HTTP Header, Parameter or Cookie needs to be added to MDC
> 3. Exposes Session ID, USer Information from RequestResolver associated with current thread of execution
> This information can then later be exposed via logs like shown below. Here we expose the SessionID as part of log
> ---
> %d{dd.MM.yyyy HH:mm:ss.SSS} *%level* [%thread] %logger [%X{jcr.sessionId}] %msg%n
> ---
> The same information can also be used to filter logs based on user,url etc or used in custom Logging event evaluator
> For more details refer to [2]
> [1] http://www.slf4j.org/manual.html#mdc
> [2] https://github.com/chetanmeh/sling-logback/tree/master/mdc
> [3] http://logback.qos.ch/manual/mdc.html#mis 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira