Package com.wavefront.common
Class MessageDedupingLogger
- java.lang.Object
-
- java.util.logging.Logger
-
- com.wavefront.common.DelegatingLogger
-
- com.wavefront.common.MessageDedupingLogger
-
public class MessageDedupingLogger extends DelegatingLogger
A logger that suppresses identical messages for a specified period of time.- Author:
- [email protected]
-
-
Field Summary
-
Fields inherited from class com.wavefront.common.DelegatingLogger
delegate
-
Fields inherited from class java.util.logging.Logger
global, GLOBAL_LOGGER_NAME
-
-
Constructor Summary
Constructors Constructor Description MessageDedupingLogger(Logger delegate, long maximumSize, double rateLimit)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
log(Level level, String message)
-
Methods inherited from class com.wavefront.common.DelegatingLogger
log
-
Methods inherited from class java.util.logging.Logger
addHandler, config, config, entering, entering, entering, exiting, exiting, fine, fine, finer, finer, finest, finest, getAnonymousLogger, getAnonymousLogger, getFilter, getGlobal, getHandlers, getLevel, getLogger, getLogger, getName, getParent, getResourceBundle, getResourceBundleName, getUseParentHandlers, info, info, isLoggable, log, log, log, log, log, logp, logp, logp, logp, logp, logp, logrb, logrb, logrb, logrb, logrb, logrb, removeHandler, setFilter, setLevel, setParent, setResourceBundle, setUseParentHandlers, severe, severe, throwing, warning, warning
-
-
-
-
Constructor Detail
-
MessageDedupingLogger
public MessageDedupingLogger(Logger delegate, long maximumSize, double rateLimit)
- Parameters:
delegate
- Delegate logger.maximumSize
- max number of unique messages that can exist in the cacherateLimit
- rate limit (per second per each unique message)
-
-
Method Detail
-
log
public void log(Level level, String message)
- Specified by:
log
in classDelegatingLogger
- Parameters:
level
- log level.message
- string to write to log.
-
-