-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDataType.cs
180 lines (168 loc) · 4.99 KB
/
DataType.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
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
namespace MethodBox.MBLog.DataType
{
/// <summary>
/// 用于表示MBLogger运行时中的公共数据类型。
/// </summary>
/// <summary>
/// 用于表示日志存储或来自的文件类型。
/// </summary>
public enum LogFileType
{
/// <summary>
/// 表示文本文件(*.txt)
/// </summary>
TextFile,
/// <summary>
/// 表示Json文件(*.json)
/// </summary>
Json,
/// <summary>
/// 表示数据库文件(*.db)
/// </summary>
DataBase
}
/// <summary>
/// 用于表示日志的等级。
/// </summary>
public enum LogType
{
/// <summary>
/// 表示日志等级为信息
/// </summary>
Information,
/// <summary>
/// 表示日志等级为提示
/// </summary>
Caution,
/// <summary>
/// 表示日志等级为警告
/// </summary>
Warning,
/// <summary>
/// 表示日志等级为错误
/// </summary>
Error
}
/// <summary>
/// 用于表示对日志跟踪器设置的模式。
/// </summary>
public enum TrackType
{
/// <summary>
/// 表示对日志内容的正则表达式检索
/// </summary>
Regex,
/// <summary>
/// 表示对日志内容的关键字检索
/// </summary>
KeyWord,
/// <summary>
/// 表示对日志等级的检索
/// </summary>
Level,
/// <summary>
/// 表示对日志发起方的检索
/// </summary>
Call
}
/// <summary>
/// 用于表示日志类型的结构体。
/// </summary>
public struct LogStruct
{
/// <summary>
/// 提供含有默认值的公开构造函数。
/// </summary>
/// <param name="callerInfoStrings">对日志的调起者</param>
/// <param name="logInfo">日志内容</param>
/// <param name="print">是否打印到控制台</param>
/// <param name="save">是否保存到文件</param>
/// <see cref="LogType"/>
public LogStruct(string[] callerInfoStrings, string logInfo,
bool print = true, bool save = true)
{
this.CallerInfoStrings = callerInfoStrings;
this.LogInfo = logInfo;
this.Print = print;
this.Save = save;
}
/// <summary>
/// 表示对日志的调起者
/// </summary>
public string[] CallerInfoStrings;
/// <summary>
/// 表示日志的具体内容
/// </summary>
public string LogInfo;
/// <summary>
/// 表示是否将日志内容打印至控制台上
/// </summary>
public bool Print;
/// <summary>
/// 表示是否将日志内容保存至文件
/// </summary>
public bool Save;
}
/// <summary>
/// 表示用于序列化/反序列化的<c>Log</c>实体类。
/// </summary>
public class Log
{
/// <summary>
/// 表示日志的内容
/// </summary>
public string? LogContent { get; set; }
/// <summary>
/// 表示日志的等级
/// </summary>
public string? LogLevel { get; set; }
/// <summary>
/// 表示日志的生成时间
/// </summary>
public string? DateTime { get; set; }
}
/// <summary>
/// 用于表示日志系统的使用事件的事件参数。
/// </summary>
public static class EventArgs
{
/// <summary>
/// 用于表示当日志字符串发送完毕回调事件的事件参数。
/// </summary>
public class SendStringFinishedEventArgs : System.EventArgs
{
/// <summary>
/// 表示发送完毕后服务器的响应。
/// </summary>
public string? Response { get; set; }
}
/// <summary>
/// 用于表示当危险日志生成时回调事件的事件参数。
/// </summary>
public class DangerousLogGenerateEventArgs : System.EventArgs,Interfaces.IDoubledAttribute
{
/// <summary>
/// 表示日志的结构体
/// </summary>
public LogStruct EventLogStruct { get; set; }
/// <summary>
/// 表示日志的等级
/// </summary>
public LogType EventLogType { get; set; }
}
/// <summary>
/// 表示日志追踪时的事件参数。
/// </summary>
public class LogTrackEventArgs:System.EventArgs, Interfaces.IDoubledAttribute
{
/// <summary>
/// 表示日志的结构体
/// </summary>
public LogStruct EventLogStruct { get; set; }
/// <summary>
/// 表示日志的等级
/// </summary>
public LogType EventLogType { get; set; }
}
}
}