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

Torsten Juergeleit commented on LBCLASSIC-185:
----------------------------------------------

Ralph is right here. Defining a generic servlet filter which caters all 
application-specific use cases isn't feasible.

E.g. in our applications we only need the request id and the context path 
within the MDC. The request id is used as correlation id to aggregate data from 
different log files. The context path is used to split log files on a 
per-webapp base via SiftingAppender. All the other servlet-related stuff 
(including the session id) goes into the log file(s) created by the logger used 
within the servlet filter. This log file provides all the the correlation ids 
(request id, session id, context path) to combine the corresponding data from 
all the other log files from various sub-systems.

To provide this kind of application-specific behaviour this servlet filter has 
to be extended.

Moving the MDC handling (including the key names) into a separate class 
(without dependency to the servlet API) is a good point. Not storing the 
session id is another good point.
Thanks for pointing out those issues.

So you can close this ticket.


Btw. how about my other feature request (with implementation) in 
http://jira.qos.ch/browse/LBCLASSIC-177  :-)

> 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: Ceki Gulcu
>         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

        
_______________________________________________
logback-dev mailing list
[email protected]
http://qos.ch/mailman/listinfo/logback-dev

Reply via email to