public LogEntry(LogEntry.LogTypes logType, DateTime timeStamp, string message, StackTrace stacktrace, object[] oparams, Exception exception, Thread thread) { _logType = logType; _timeStamp = timeStamp; _message = message; _stacktrace = stacktrace; _params = oparams; _exception = exception; _thread = thread; }
private static void DoLog(LogEntry.LogTypes logType, DateTime timeStamp, string message, StackTrace stacktrace, object[] oparams, Exception exception) { DoLog(new LogEntry( logType, timeStamp, message, stacktrace, oparams, exception, System.Threading.Thread.CurrentThread )); }
private static void DoLog(LogEntry logEntry) { if (OnLog != null) try { OnLog(logEntry); } catch (Exception ex) { } foreach (ILoggingHandler handler in LoggingHandler) { try { handler.General(logEntry); switch (logEntry.LogType) { case LogEntry.LogTypes.Success: handler.Success(logEntry.TimeStamp, logEntry.Message, logEntry.StackTrace, logEntry.Params); break; case LogEntry.LogTypes.Info: handler.Info(logEntry.TimeStamp, logEntry.Message, logEntry.StackTrace, logEntry.Params); break; case LogEntry.LogTypes.Warn: handler.Warn(logEntry.TimeStamp, logEntry.Message, logEntry.StackTrace, logEntry.Params); break; case LogEntry.LogTypes.Debug: handler.Debug(logEntry.TimeStamp, logEntry.Message, logEntry.StackTrace, logEntry.Params); break; case LogEntry.LogTypes.Exception: handler.Exaption(logEntry.TimeStamp, logEntry.Message, logEntry.Exception, logEntry.StackTrace, logEntry.Params); break; case LogEntry.LogTypes.Error: handler.Error(logEntry.TimeStamp, logEntry.Message, logEntry.StackTrace, logEntry.Params); break; case LogEntry.LogTypes.Fatal: handler.Fatal(logEntry.TimeStamp, logEntry.Message, logEntry.StackTrace, logEntry.Params); break; } } catch (Exception ex) { } } }
private bool _isInFilter(LogEntry.LogTypes type) { return (type & this._logFilter) != 0; }
public void RefreshWithFilter(LogEntry.LogTypes filter) { _logFilter = filter; if (OnEntryAdded != null) foreach (LogEntry entry in _entrys) if (_isInFilter(entry.LogType)) OnEntryAdded(entry); }
public void AddEntry(LogEntry entry) { if (OnEntryAdded != null) if (_isInFilter(entry.LogType)) OnEntryAdded(entry); _entrys.Add(entry); _updateListSize(); }
void _logQueue_OnEntryRemoved(LogEntry logEntry) { Async.UI(() => { if (_logItemMap.ContainsKey(logEntry)) { int itemIndex = this.glLogList.Items.FindItemIndex(_logItemMap[logEntry]); if (itemIndex >= 0) this.glLogList.Items.Remove(itemIndex); } }, glLogList, true); }
void _logQueue_OnEntryAdded(LogEntry logEntry) { Async.UI(() => { GLItem item = new GLItem(); item.Tag = logEntry; GLSubItem itemTime = new GLSubItem(); itemTime.Text = logEntry.TimeStamp.ToString("yyyy-MM-dd H:mm:ss.fff"); GLSubItem itemType = new GLSubItem(); itemType.Text = logEntry.LogType.ToString(); GLSubItem itemMesstage = new GLSubItem(); itemMesstage.Text = logEntry.Message; GLSubItem itemParams = new GLSubItem(); itemParams.Text = ""; foreach (object o in logEntry.Params) itemParams.Text += o.ToString() + "; "; item.SubItems.Add(itemTime); item.SubItems.Add(itemType); item.SubItems.Add(itemMesstage); item.SubItems.Add(itemParams); switch (logEntry.LogType) { case LogEntry.LogTypes.Success: item.ForeColor = Color.Green; break; case LogEntry.LogTypes.Warn: item.BackColor = Color.Orange; break; case LogEntry.LogTypes.Debug: item.ForeColor = Color.Gray; break; case LogEntry.LogTypes.Exception: item.ForeColor = Color.Red; break; case LogEntry.LogTypes.Error: item.BackColor = Color.Red; break; case LogEntry.LogTypes.Fatal: item.BackColor = Color.DarkRed; break; } _logItemMap.Add(logEntry, item); glLogList.Items.Add(item); if (glLogList.vPanelScrollBar.Visible && cbAutoscroll.Checked) glLogList.vPanelScrollBar.Value = glLogList.vPanelScrollBar.Maximum; if (!_doNotUpdate) { glLogList.Invalidate(); } }, glLogList, true); }