Esempio n. 1
0
		public void ProcessLogMessage(LogMessage logMsg)
		{
			// Check 1st in the global LoggerPath/Logger dictionary
			LoggerItem logger;
			if (!_fullPathLoggers.TryGetValue(logMsg.LoggerName, out logger))
			{
				// Not found, create one
				logger = RootLoggerItem.GetOrCreateLogger(logMsg.LoggerName);
			}
			if (logger == null)
				throw new Exception("No Logger for this Log Message.");

			logger.AddLogMessage(logMsg);
		}
Esempio n. 2
0
		internal LogMessageItem AddLogMessage(LogMessage logMsg)
		{
			LogMessageItem item = new LogMessageItem(this, logMsg);
			item.Enabled = Enabled;
			LogMessages.Add(item);

			// We may remove and add many items, disable the drawing one moment
			_logListView.BeginUpdate();

			// Limit the number of displayed messages if necessary
			if (UserSettings.Instance.MessageCycleCount > 0)
				RemoveExtraLogMessages(UserSettings.Instance.MessageCycleCount);

			// Message
			if (Enabled)
			{
				// Set Previous item
				if (_logListView.Items.Count > 0)
					item.Previous =
						_logListView.Items[_logListView.Items.Count - 1].Tag as LogMessageItem;

				// Add it to the main list
				_logListView.Items.Add(item.Item);

				// Add to the corresponding if necessary

				if (UserSettings.Instance.GroupLogMessages && (Group != null))
					Group.Items.Add(item.Item);

				// Force the item to be visible if necessary
				if (UserSettings.Instance.AutoScrollToLastLog)
				{
					item.Item.EnsureVisible();
				}
			}

			// Hide the item is is not in range or doesn't match the current text search if any
			if (!item.IsLevelInRange() || (_hasSearchedText && !item.HasSearchedText(_searchedText)))
				DisableLogMessage(item);

			// Done!
			_logListView.EndUpdate();

			return item;
		}
Esempio n. 3
0
		public LogMessageItem(LoggerItem parent, LogMessage logMsg)
		{
			Parent = parent;
			Message = logMsg;

			string parentName = Parent.Name;
			if ((Parent.Name == logMsg.ThreadName) && (Parent.Parent != null))
				parentName = Parent.Parent.Name;

			// Create List View Item
			Item = new ListViewItem(logMsg.TimeStamp.ToString(UserSettings.Instance.TimeStampFormatString));
			//Item.SubItems.Add(logMsg.Level.Name);
			Item.SubItems.Add(parentName);
			Item.SubItems.Add(logMsg.ThreadName);
			Item.SubItems.Add(logMsg.Message);
			Item.ToolTipText = logMsg.Message;
			Item.ForeColor = logMsg.Level.Color;
			Item.Tag = this;
		}
Esempio n. 4
0
		public void DoAppend(log4net.Core.LoggingEvent logEvent)
		{
			LogMessage logMsg = new LogMessage(logEvent);
			theMessages.Enqueue(logMsg);
		}