public void Write(LogEntry entry, Type filterListener) { Guard.ArgumentNotNull(entry, "entry"); TraceEventCache manager = new TraceEventCache(); foreach(TraceListener listener in this.Listeners) { bool lockTaken = false; try { if (!listener.IsThreadSafe) { Monitor.Enter(sync, ref lockTaken); } if (filterListener == null || filterListener == listener.GetType()) { listener.TraceData(manager, string.Empty, entry.Severity, 0, entry); listener.Flush(); } } finally { if (!listener.IsThreadSafe && lockTaken) { Monitor.Exit(sync); } } } }
protected virtual string Format(StringBuilder templateBuilder, LogEntry log) { templateBuilder.Replace(timeStampToken, log.TimestampString); templateBuilder.Replace(titleToken, log.Title); templateBuilder.Replace(messageToken, log.Message); templateBuilder.Replace(eventIdToken, log.EventId.ToString(Resources.Culture)); templateBuilder.Replace(severityToken, log.Severity.ToString()); templateBuilder.Replace(NewLineToken, Environment.NewLine); templateBuilder.Replace(TabToken, "\t"); return templateBuilder.ToString(); }
public void Write(LogEntry entry) { Write(entry, null); }
protected virtual void LogErrors(Exception errorToLog) { LogEntry entry = new LogEntry( errorToLog, Properties.Resources.Generation_Error_Title, TraceEventType.Error, 0); errors.Add(entry); }
protected virtual void WriteError(LogEntry logEntry) { ErrorTask errorTask = new ErrorTask(); errorTask.CanDelete = false; switch(logEntry.Severity) { case TraceEventType.Critical: errorTask.ErrorCategory = TaskErrorCategory.Error; break; case TraceEventType.Error: errorTask.ErrorCategory = TaskErrorCategory.Error; break; case TraceEventType.Information: errorTask.ErrorCategory = TaskErrorCategory.Message; break; case TraceEventType.Warning: errorTask.ErrorCategory = TaskErrorCategory.Warning; break; default: errorTask.ErrorCategory = TaskErrorCategory.Error; break; } errorTask.Text = logEntry.Message; WriteError(errorTask); }
protected override void LogEntry(LogEntry entry) { logEntries.Add(entry); }
public string Format(LogEntry log) { Guard.ArgumentNotNull(log, "log"); return Format(CreateTemplateBuilder(), log); }
private string FormatEntry(string template, LogEntry entry) { ILogFormatter formatter = new TextFormatter(template); return formatter.Format(entry); }
public void TestConstructorWithNullParameter() { LogEntry entry = new LogEntry(null, string.Empty, TraceEventType.Error, 1); }