Log.cs
1.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
using System;
using System.Collections.Generic;
namespace Model
{
public class Log
{
private readonly log4net.ILog LOG;
private List<string> history;
private const int MAX_LINES = 50;
public Log(string name)
{
LOG = log4net.LogManager.GetLogger(name);
history = new List<string>();
}
public System.Windows.Forms.TextBox LogBox { set; get; }
public void Info(string s)
{
LOG.Info(s);
}
public void Debug(string s)
{
LOG.Debug(s);
}
public void Warn(string s)
{
LOG.Warn(s);
}
public void Error(string s, Exception ex)
{
LOG.Error(s, ex);
}
public void UI_Display(string s)
{
if (LogBox == null) return;
string text = string.Format("[{0:HH:mm:ss}] {1}", DateTime.Now, s);
if (history.Count >= MAX_LINES)
history.RemoveAt(0);
history.Add(text);
LogBox.Invoke(new Action(() =>
{
LogBox.Text = string.Join("\r\n", history);
LogBox.ScrollToCaret();
}));
}
public void UI_Clear()
{
if (LogBox == null) return;
history.Clear();
LogBox.Invoke(new Action(() => { LogBox.Text = ""; }));
}
}
}