|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.atlassian.jira.web.filters.accesslog.AccessLogFilter
public class AccessLogFilter
Logs the JIRA user name and request URL via log4j to a special log file in Apache Combined Log Format (with response time)
This also works in concert with the com.atlassian.jira.soap.axis.JiraSoapAxisLogger to pass information between the layers via HttpServletRequest attributes.
| Field Summary | |
|---|---|
static AtomicLong |
concurrentRequests
This atomic long gauge goes up and down for every request that hits JIRA |
static String |
JIRA_REQUEST_ASESSIONID
This constant is used to indicate the ASESSIONID |
static String |
JIRA_REQUEST_ID
This constant is used to indicate the request id |
static String |
JIRA_REQUEST_START_MILLIS
This constant is used to indicate the start time of the request |
static String |
JIRA_REQUEST_TIME_MICROS
This constant is used to indicate the time the request took in microseconds |
static String |
JIRA_REQUEST_USER_NAME
This constant is used by the SOAP code to place the SOAP username into the request |
static String |
JIRA_RPC_SOAP_SESSIONID
This constant is used by the SOAP code to place the SOAP session id into the request |
static String |
JIRA_RPC_SOAP_URLSUFFIX
This constant is used by the SOAP code to place the SOAP method url suffix into the request |
static String |
JIRA_RPC_SOAP_USERNAME
This constant is used by the SOAP code to place the SOAP username into the request |
static AtomicLong |
requestCounter
This atomic long counter increments for every new request that hits JIRA |
| Constructor Summary | |
|---|---|
AccessLogFilter()
|
|
| Method Summary | |
|---|---|
void |
destroy()
Does nothing |
void |
doFilter(javax.servlet.ServletRequest servletRequest,
javax.servlet.ServletResponse servletResponse,
javax.servlet.FilterChain filterChain)
Creates logs if INFO logging level is set and URL is "interesting" according to isInterestingUrl(String). |
void |
init(javax.servlet.FilterConfig filterConfig)
Does nothing but prints INFO log message |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String JIRA_RPC_SOAP_USERNAME
public static final String JIRA_RPC_SOAP_URLSUFFIX
public static final String JIRA_RPC_SOAP_SESSIONID
public static final String JIRA_REQUEST_USER_NAME
public static final String JIRA_REQUEST_START_MILLIS
public static final String JIRA_REQUEST_TIME_MICROS
public static final String JIRA_REQUEST_ID
public static final String JIRA_REQUEST_ASESSIONID
public static final AtomicLong requestCounter
public static final AtomicLong concurrentRequests
| Constructor Detail |
|---|
public AccessLogFilter()
| Method Detail |
|---|
public void init(javax.servlet.FilterConfig filterConfig)
throws javax.servlet.ServletException
init in interface javax.servlet.FilterfilterConfig - not used
javax.servlet.ServletException - not thrown
public void doFilter(javax.servlet.ServletRequest servletRequest,
javax.servlet.ServletResponse servletResponse,
javax.servlet.FilterChain filterChain)
throws IOException,
javax.servlet.ServletException
isInterestingUrl(String).
doFilter in interface javax.servlet.FilterservletRequest - requestservletResponse - responsefilterChain - filter chain
IOException - if another filter in the filter chain throws it
javax.servlet.ServletException - if another filter in the filter chain throws itpublic void destroy()
destroy in interface javax.servlet.Filter
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||