@Override public void start() { msgCache = new LRUMessageCache(cacheSize); super.start(); }
@Override public FilterReply decide(Marker marker, Logger logger, Level level, String format, Object[] params, Throwable t) { int count = msgCache.getMessageCountAndThenIncrement(format); if (count <= allowedRepetitions) { return FilterReply.NEUTRAL; } else { return FilterReply.DENY; } }
@Override public void stop() { msgCache.clear(); msgCache = null; super.stop(); }
@Test public void testEldestEntriesRemoval() { final LRUMessageCache cache = new LRUMessageCache(2); Assert.assertEquals(0, cache.getMessageCountAndThenIncrement("0")); Assert.assertEquals(1, cache.getMessageCountAndThenIncrement("0")); Assert.assertEquals(0, cache.getMessageCountAndThenIncrement("1")); Assert.assertEquals(1, cache.getMessageCountAndThenIncrement("1")); // 0 entry should have been removed. Assert.assertEquals(0, cache.getMessageCountAndThenIncrement("2")); // So it is expected a returned value of 0 instead of 2. // 1 entry should have been removed. Assert.assertEquals(0, cache.getMessageCountAndThenIncrement("0")); // So it is expected a returned value of 0 instead of 2. // 2 entry should have been removed. Assert.assertEquals(0, cache.getMessageCountAndThenIncrement("1")); // So it is expected a returned value of 0 instead of 2. Assert.assertEquals(0, cache.getMessageCountAndThenIncrement("2")); }
protected boolean removeEldestEntry(Map.Entry eldest) { return (size() > cacheSize); }
protected boolean removeEldestEntry(Map.Entry eldest) { return (size() > cacheSize); }
@Override public FilterReply decide(Marker marker, Logger logger, Level level, String format, Object[] params, Throwable t) { int count = msgCache.getMessageCountAndThenIncrement(format); if (count <= allowedRepetitions) { return FilterReply.NEUTRAL; } else { return FilterReply.DENY; } }
@Override public void start() { msgCache = new LRUMessageCache(cacheSize); super.start(); }
@Override public void stop() { msgCache.clear(); msgCache = null; super.stop(); }
protected boolean removeEldestEntry(Map.Entry<String, Integer> eldest) { return (size() > cacheSize); }
@Override public FilterReply decide(Marker marker, Logger logger, Level level, String format, Object[] params, Throwable t) { int count = msgCache.getMessageCountAndThenIncrement(format); if (count <= allowedRepetitions) { return FilterReply.NEUTRAL; } else { return FilterReply.DENY; } }
@Override public void start() { msgCache = new LRUMessageCache(cacheSize); super.start(); }
@Override public void stop() { msgCache.clear(); msgCache = null; super.stop(); }
protected boolean removeEldestEntry(Map.Entry eldest) { return (size() > cacheSize); } }
@Override public FilterReply decide(Marker marker, Logger logger, Level level, String format, Object[] params, Throwable t) { int count = msgCache.getMessageCountAndThenIncrement(format); if (count <= allowedRepetitions) { return FilterReply.NEUTRAL; } else { return FilterReply.DENY; } }
@Override public void start() { msgCache = new LRUMessageCache(cacheSize); super.start(); }
@Override public void stop() { msgCache.clear(); msgCache = null; super.stop(); }
protected boolean removeEldestEntry(Map.Entry eldest) { return (size() > cacheSize); }
@Override public FilterReply decide(Marker marker, Logger logger, Level level, String format, Object[] params, Throwable t) { int count = msgCache.getMessageCountAndThenIncrement(format); if (count <= allowedRepetitions) { return FilterReply.NEUTRAL; } else { return FilterReply.DENY; } }
@Override public void start() { msgCache = new LRUMessageCache(cacheSize); super.start(); }