Exemplo n.º 1
0
		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);
					}
				}
			}
		}
Exemplo n.º 2
0
		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();
		}
Exemplo n.º 3
0
		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);
			}
Exemplo n.º 7
0
		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);
		}
Exemplo n.º 9
0
		public void TestConstructorWithNullParameter()
		{
			LogEntry entry = new LogEntry(null, string.Empty, TraceEventType.Error, 1);
		}