@Override public void handleLogMessage(LogMessage msg) { if (msg.isReceiverWouldLog()) { synchronized (messages) { messages.add(0, msg); numLogMessages.inc(); while (messages.size() > maxMsg) { messages.remove(messages.size() - 1); } } } }
private void invokeTap(Object msg, boolean wouldLog, Level level, LogTap tap) { try { tap.handleLogMessage(new LogMessage(NLS.toUserString(msg), level, this, wouldLog, Thread.currentThread().getName())); } catch (Exception e) { // Ignored - if we can't log s.th. let's just give up... } }