mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-19 12:30:32 +00:00
60 lines
1.4 KiB
C#
60 lines
1.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Drawing;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
|
|
namespace Cosmos.Kernel.LogTail.Handlers
|
|
{
|
|
public partial class MessageLogHandler : LogHandler
|
|
{
|
|
public override string Title
|
|
{
|
|
get
|
|
{
|
|
return "Messages";
|
|
}
|
|
}
|
|
|
|
public MessageLogHandler()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
public override void Clear()
|
|
{
|
|
if (InvokeRequired)
|
|
{
|
|
this.BeginInvoke(new Action(Clear));
|
|
return;
|
|
}
|
|
|
|
listView.Items.Clear();
|
|
}
|
|
|
|
private delegate void Handler(LogMessage message);
|
|
|
|
public override void HandleMessage(LogMessage message)
|
|
{
|
|
if (InvokeRequired)
|
|
{
|
|
this.BeginInvoke(new Handler(HandleMessage), message);
|
|
return;
|
|
}
|
|
|
|
// We only handle these.
|
|
if (message.Name != "Warning" && message.Name != "Error" && message.Name != "Message")
|
|
return;
|
|
|
|
// Create the item.
|
|
ListViewItem item = new ListViewItem(new string[] { message["Module"], message["String"] });
|
|
item.ImageKey = message.Name.ToLowerInvariant();
|
|
|
|
// Add it.
|
|
listView.Items.Add(item);
|
|
}
|
|
}
|
|
}
|