private void OnBeforeMessageAdded(IRuntimeConsole console, ConsoleLogCancelArgs arg) { if (arg.LogEntry.LogType == LogType.Log) { arg.Cancel = true; } }
protected virtual void OnLogMessageReceived(string condition, string stackTrace, LogType type) { if (!AcceptMessage(condition, stackTrace, type)) { return; } ConsoleLogEntry logEntry = null; if (MessageAdded != null || m_store) { logEntry = new ConsoleLogEntry(type, condition, stackTrace); if (BeforeMessageAdded != null) { ConsoleLogCancelArgs args = new ConsoleLogCancelArgs(logEntry); BeforeMessageAdded(this, args); if (args.Cancel) { return; } } m_log.Enqueue(logEntry); UpdateCounters(type, 1); if (m_log.Count > m_clearThreshold) { ConsoleLogEntry[] removedItems = new ConsoleLogEntry[m_clearThreshold - m_maxItems]; for (int i = 0; i < removedItems.Length; ++i) { ConsoleLogEntry removedLogEntry = m_log.Dequeue(); removedItems[i] = removedLogEntry; UpdateCounters(removedLogEntry.LogType, -1); } if (MessagesRemoved != null) { MessagesRemoved(this, removedItems); } } } if (MessageAdded != null) { MessageAdded(this, logEntry); } }