[logback-dev] [JIRA] Commented: (LBCLASSIC-185) Servlet filter which puts servlet-specific data into MDC

Ceki Gulcu (JIRA) noreply-jira at qos.ch
Thu Feb 4 12:54:33 CET 2010

    [ http://jira.qos.ch/browse/LBCLASSIC-185?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=11509#action_11509 ] 

Ceki Gulcu commented on LBCLASSIC-185:

Useful stuff. 

Personally, I would also add the client's host name as well as the "X-Forwarded-For" field found in the http header. More generally though, the complete set of fields as defined in logback-access' PatternLayout would be of interest. See "Logback access" in [1].

The important point is that the fields you have defined, e.g. context path, user name etc. are highly useful for various purposes.

BTW, since this is a relatively significant contribution, I would appreciate if you could sign the Contributor License Agreement [2[.

[1] http://logback.qos.ch/manual/layouts.html
[2] http://logback.qos.ch/cla.txt

> Servlet filter which puts servlet-specific data into MDC
> --------------------------------------------------------
>                 Key: LBCLASSIC-185
>                 URL: http://jira.qos.ch/browse/LBCLASSIC-185
>             Project: logback-classic
>          Issue Type: New Feature
>          Components: Other
>    Affects Versions: 0.9.18
>            Reporter: Torsten Juergeleit
>            Assignee: Logback dev list
>         Attachments: logback-test.xml, RequestLogFilter.java, RequestLogFilterTest.java
> Attached you can find a servlet filter which implements a strategy to put servlet-specific data into the SL4F MDC using the following keys: 
> * {{slf4j.servlet.requestId}} - Unique ID of the single HTTP request handled by this filter 
> * {{slf4j.servlet.sessionId}} - ID of the HTTP session this HTTP request is associated with or "" if no HTTP session was created yet 
> * {{slf4j.servlet.contextPath}} - Web apps context path 
> * {{slf4j.servlet.userName}} - Name of authenticated user or "" if no user is authenticated 
> This data is removed after the request is processed. 
> The following configuration parameters are supported by this filter: 
> * {{maxSessionIdLength}} - limiting the HTTP session id length to a certain value, e.g. for WebLogic this could be 52 (default: -1 [unlimited]) 
> To use this filter add the following lines to the {{web.xml file}}: 
> <code>
>   <filter>
>     <filter-name>RequestLogFilter</filter-name>
>     <filter-class>ch.qos.logback.classic.RequestLogFilter</filter-class>
>     <init-param>
>       <param-name>maxSessionIdLength</param-name>
>       <param-value>52</param-value>
>     </init-param>
>   </filter><br>
>       :
>   <filter-mapping>
>     <filter-name>RequestLogFilter</filter-name>
>     <url-pattern>/*</url-pattern>
>   </filter-mapping>
> <code>
> An SLF4 Logger named {{ch.qos.logback.classic.RequestLogFilter}} is used to log the start end end of calling the filter chain. This information should go into a separate log file.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the logback-dev mailing list