-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathHyperLog.cs
157 lines (140 loc) · 3.93 KB
/
HyperLog.cs
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
using System.Drawing;
using Gurock.SmartInspect;
namespace SmartLogger
{
public sealed class HyperLog
{
private HyperArea _hyperarea;
private NLog.Logger _Logger;
private SmartInspect _SmartInspect;
private string _areaName;
private Level _LoggerLevel;
private Level _DetailLevel;
public string Name
{
get { return _hyperarea.Name; }
}
public string LowLevel()
{
return _DetailLevel.ToString();
}
public string HighLevel()
{
return _LoggerLevel.ToString();
}
public HyperArea Ray
{
get { return Low; }
}
public HyperArea Low
{
get { return Detail; }
}
public HyperArea High
{
get { return Log; }
}
public HyperArea Log
{
get { return _hyperarea; }
}
public HyperArea Detail
{
get
{
//return _hyperarea; // for now always return.
return null; // for now always return.
//if (_DetailLevel == Level.Standby)
//{
// return _hyperarea;
//}
//else if (_DetailLevel == Level.Off)
//{
// return null;
//}
//else
//if (_hyperarea.SiSession.IsOn(HyperArea.XlatLevel(_DetailLevel)))
//{
// return _hyperarea;
//}
//else
//{
// return null;
//}
}
}
public void UpdateFromArea(Area area)
{
_hyperarea.UpdateFromArea(area);
}
private bool IsDetailLevel(Level level)
{
switch (level)
{
case Level.Trace:
return true;
case Level.Debug:
return true;
case Level.Verbose:
return true;
case Level.Info:
return true;
case Level.Message:
return true;
}
return false;
}
public HyperLog(SmartInspect parent, Area area)
{
_SmartInspect = parent;
_areaName = area.Name;
_hyperarea = MakeArea(area);
_LoggerLevel = Level.Warning;
_DetailLevel = Level.Off;
_Logger = null;
}
public void SetHyperLogLevels(Level loggerLevel, Level detailLevel)
{
_LoggerLevel = Level.Debug; //loggerLevel;For now, always set to debug
_DetailLevel = Level.Debug; // detailLevel; For now, always set to debug
Bootstrap.Log.LogColored (Color.LightPink, $"! RuleY [{Name}] Log: {_LoggerLevel.ToString()} Detail: {_DetailLevel.ToString()}");
_hyperarea.SetSessionLevel(loggerLevel, detailLevel);
}
private HyperArea MakeArea(Area area)
{
HyperArea hyperArea;
hyperArea = new HyperArea(_SmartInspect, area);
return hyperArea;
}
private NLog.Logger MakeLogger()
{
NLog.Logger logger;
logger = new NLog.Logger(_hyperarea.SiSession);
return logger;
}
public NLog.Logger Logger()
{
if (_Logger == null)
{
_Logger = MakeLogger();
}
return _Logger;
}
public HyperArea Rays(string msg)
{
if (msg.ToLower() == "live")
{
return High;
}
else if (msg.ToLower() == "nlog")
{
return High;
}
else
{
return null;
}
}
}
}