/// <summary> /// Handles the Entry Written event of the <see cref="EventLog"/> instance. /// </summary> private void EventLogEntryWritten(object sender, EntryWrittenEventArgs e) { if (mIsActive && (string.IsNullOrEmpty(mSourceName) || Equals(e.Entry.Source, mSourceName))) { LogMessage newLogMsg = new LogMessageEventlog( e.Entry , ++mLogNumber); if (mLogHandler != null) { mLogHandler.HandleMessage(newLogMsg); } } }
/// <summary> /// Selects the given <paramref name="message"/>. /// </summary> /// <param name="message">The <see cref="LogMessage"/> o select</param> public bool SelectLogMessage(LogMessage message) { LogMessageEventlog logMessage = message as LogMessageEventlog; try { this.SuspendDrawing(); if (logMessage != null) { txtDataNumber.Text = logMessage.Index.ToString(); txtDataLevel.Text = logMessage.Level.ToString(); txtDataDateAndTime.Text = logMessage.Timestamp.Add(logMessage.TimeShiftOffset).ToString(Settings.Default.TimestampFormat); txtDataLogger.Text = logMessage.Logger; txtDataCategory.Text = logMessage.Category; txtDataUsername.Text = logMessage.Username; txtDataInstaceId.Text = logMessage.InstanceId.ToString(); if (logMessage.TimeShiftOffset.Milliseconds != 0) { txtDataDateAndTime.Text += string.Format( Resources.strLoggerDetailsCtrlOffset , logMessage.TimeShiftOffset.Milliseconds); } // Replace all known new line character combinations with the .net one. txtDataMessage.Text = Regex.Replace( logMessage.Message , @"\r(?!\n)|(?<!\r)\n" , Environment.NewLine); } else { txtDataNumber.Text = message != null?message.Index.ToString() : string.Empty; txtDataLevel.Text = message != null?message.Level.ToString() : string.Empty; txtDataDateAndTime.Text = string.Empty; txtDataLogger.Text = message != null ? message.Logger : string.Empty; txtDataCategory.Text = string.Empty; txtDataUsername.Text = string.Empty; txtDataInstaceId.Text = string.Empty; txtDataMessage.Text = message != null?message.Message.Trim() : string.Empty; } pbxCopyNumber.Visible = !string.IsNullOrEmpty(txtDataNumber.Text); pbxCopyLevel.Visible = !string.IsNullOrEmpty(txtDataLevel.Text); pbxCopyLogger.Visible = !string.IsNullOrEmpty(txtDataLogger.Text); pbxCopyDateAndTime.Visible = !string.IsNullOrEmpty(txtDataDateAndTime.Text); pbxCopyCategory.Visible = !string.IsNullOrEmpty(txtDataCategory.Text); pbxCopyUsername.Visible = !string.IsNullOrEmpty(txtDataUsername.Text); pbxCopyInstanceId.Visible = !string.IsNullOrEmpty(txtDataInstaceId.Text); pbxCopyMessage.Visible = !string.IsNullOrEmpty(txtDataMessage.Text); } finally { txtDataCategory.AdjustHeightToContent(); txtDataMessage.AdjustHeightToContent(); this.ResumeDrawing(); } return(true); }