@Override
public void setConfiguration(Map<String, ?> settings) {
config = settings;
String levelStr = Utils.getString(LEVEL, settings, OpLevel.INFO.toString());
minLevel = levelStr.equalsIgnoreCase(OFF_LEVEL_LABEL) ? OFF_LEVEL_INT : OpLevel.valueOf(levelStr).ordinal();
elapsedUsec = Utils.getLong(ELAPSED_USEC, settings, elapsedUsec);
waitUsec = Utils.getLong(WAIT_USEC, settings, waitUsec);
wallUsec = Utils.getLong(WALL_USEC, settings, wallUsec);
ttl = Utils.getLong(TTL_SEC, settings, ttl);
dupTimeoutSec = Utils.getLong(DUPS_TIMEOUT, settings, dupTimeoutSec);
dupCacheSize = Utils.getInt(DUPS_CACHE_SIZE, settings, dupCacheSize);
dupUseSoundex = Utils.getBoolean(DUPS_USE_SOUNDEX, settings, dupUseSoundex);
dupAppendStats = Utils.getBoolean(DUPS_APPEND_STATS, settings, dupAppendStats);
dupsSuppress = Utils.getBoolean(DUPS_SUPPRESS, settings, dupsSuppress);
if (dupsSuppress) {
msgTracker = TimeTracker.newTracker(dupCacheSize, dupTimeoutSec*2, TimeUnit.SECONDS);
TrackingLogger.addDumpProvider(new TimeTrackerDumpProvider(EventLevelTimeFilter.class.getName(), "DupMsgHits", msgTracker));
}
msgRegx = Utils.getString(MSG_PATTERN, settings, null);
if (msgRegx != null) {
msgPattern = Pattern.compile(msgRegx);
}
}