Class RateLimitingLogger

java.lang.Object
com.atlassian.jira.util.log.RateLimitingLogger

public class RateLimitingLogger extends Object
A logger for use where there is the chance for large numbers of repetitive errors. This Logger will output only a limited number of stacktraces and then will only output error messages for warn(String s, Throwable t) and error(String s, Throwable t)
Since:
v6.3
  • Constructor Details

    • RateLimitingLogger

      public RateLimitingLogger(Class clazz)
      Create a new logger with defaults for number of stacktraces (25) and time to reset (5 minutes).
      Parameters:
      clazz - Class for logger name
    • RateLimitingLogger

      public RateLimitingLogger(Class clazz, int maxStackTraces, int resetAfterMinutes)
      Create a new logger
      Parameters:
      clazz - Class for logger name
      maxStackTraces - Maximum number of stacktraces to print before starting suppression.
      resetAfterMinutes - Number of minutes where the logger is idle to cause a reset to recommence printing stacktraces.
  • Method Details

    • debug

      public void debug(String message)
    • debug

      public void debug(String message, Object object)
    • debug

      public void debug(String message, Object arg1, Object arg2)
    • debug

      public void debug(String message, Object... arguments)
    • debug

      public void debug(String message, Throwable t)
    • trace

      public void trace(String message)
    • trace

      public void trace(String message, Object object)
    • trace

      public void trace(String message, Object arg1, Object arg2)
    • trace

      public void trace(String message, Throwable t)
    • error

      public void error(String message)
    • error

      public void error(String message, Throwable t)
    • isDebugEnabled

      public boolean isDebugEnabled()
    • isTraceEnabled

      public boolean isTraceEnabled()
    • isInfoEnabled

      public boolean isInfoEnabled()
    • info

      public void info(String message)
    • info

      public void info(String message, Throwable t)
    • warn

      public void warn(String message)
    • warnWithTrace

      public void warnWithTrace(String message)
    • errorWithTrace

      public void errorWithTrace(String message)
    • traceWithTrace

      public void traceWithTrace(String message)
    • warn

      public void warn(String message, Object... arguments)
    • warn

      public void warn(String message, Throwable t)
    • wantFullStackTrace

      protected boolean wantFullStackTrace()