Class AccessLogFilter

java.lang.Object
com.atlassian.bamboo.filter.AccessLogFilter
All Implemented Interfaces:
javax.servlet.Filter

public class AccessLogFilter extends Object implements javax.servlet.Filter
Logs JIRA username and request URL via log4j. See http://confluence.atlassian.com/display/JIRA/User+access+logging
  • Constructor Details

    • AccessLogFilter

      public AccessLogFilter()
  • Method Details

    • init

      public void init(javax.servlet.FilterConfig filterConfig) throws javax.servlet.ServletException
      Does nothing but prints INFO log message
      Specified by:
      init in interface javax.servlet.Filter
      Parameters:
      filterConfig - not used
      Throws:
      javax.servlet.ServletException - not thrown
    • doFilter

      public void doFilter(javax.servlet.ServletRequest servletRequest, javax.servlet.ServletResponse servletResponse, javax.servlet.FilterChain chain) throws IOException, javax.servlet.ServletException
      Creates logs if INFO logging level is set and URL is "interesting" according to isInterestingUrl(String).
      Specified by:
      doFilter in interface javax.servlet.Filter
      Parameters:
      servletRequest - request
      servletResponse - response
      chain - filter chain
      Throws:
      IOException - if another filter in the filter chain throws it
      javax.servlet.ServletException - if another filter in the filter chain throws it
    • getStartText

      protected String getStartText(String url, javax.servlet.http.HttpServletRequest request, long startMem)
    • getEndText

      protected String getEndText(int httpStatusCode, String startText, long memDiff, long timeDiff)
    • isInterestingUrl

      protected boolean isInterestingUrl(String url)
      Returns true if the given URL is of our interest. Images (.gif, .png, .jpg, .ico), CSS (.css) and JavaScript (.js) are out of interest and if url ends with one of these extentions false is returned.
      Parameters:
      url - url to check
      Returns:
      true if interesting
    • destroy

      public void destroy()
      Does nothing
      Specified by:
      destroy in interface javax.servlet.Filter
    • setUsernameLoggingEnabled

      public static void setUsernameLoggingEnabled(boolean value)