@@ -4,69 +4,64 @@ namespace Phantasma.Core.Log
4
4
{
5
5
public abstract class Logger
6
6
{
7
- public LogEntryKind Level = LogEntryKind . Debug ;
7
+ public readonly LogLevel Level ;
8
8
9
- public abstract void Write ( LogEntryKind kind , string msg ) ;
9
+ private static object _lock = new object ( ) ;
10
10
11
- public void Message ( string msg )
11
+ public Logger ( LogLevel level )
12
+ {
13
+ this . Level = level ;
14
+ }
15
+
16
+ public static Logger Init ( Logger log )
12
17
{
13
- if ( this . Level < LogEntryKind . Message )
18
+ if ( log == null )
14
19
{
15
- return ;
20
+ return DummyLogger . Instance ;
16
21
}
17
22
18
- Write ( LogEntryKind . Message , msg ) ;
23
+ return log ;
19
24
}
20
25
21
- public void Debug ( string msg )
26
+ protected abstract void Write ( LogLevel kind , string msg ) ;
27
+
28
+ public void RouteMessage ( LogLevel kind , string msg )
22
29
{
23
- if ( this . Level < LogEntryKind . Debug )
30
+ if ( this . Level < kind )
24
31
{
25
32
return ;
26
33
}
27
34
28
- Write ( LogEntryKind . Debug , msg ) ;
35
+ lock ( _lock )
36
+ {
37
+ this . Write ( kind , msg ) ;
38
+ }
29
39
}
30
40
31
- public static Logger Init ( Logger log )
41
+ public void Message ( string msg )
32
42
{
33
- if ( log == null )
34
- {
35
- return DummyLogger . Instance ;
36
- }
43
+ RouteMessage ( LogLevel . Message , msg ) ;
44
+ }
37
45
38
- return log ;
46
+ public void Debug ( string msg )
47
+ {
48
+ RouteMessage ( LogLevel . Debug , msg ) ;
39
49
}
40
50
41
51
public void Warning ( string msg )
42
52
{
43
- if ( this . Level < LogEntryKind . Warning )
44
- {
45
- return ;
46
- }
47
-
48
- Write ( LogEntryKind . Warning , msg ) ;
53
+ RouteMessage ( LogLevel . Warning , msg ) ;
49
54
}
50
55
51
56
public void Error ( string msg )
52
57
{
53
- if ( this . Level < LogEntryKind . Error )
54
- {
55
- return ;
56
- }
57
-
58
- Write ( LogEntryKind . Error , msg ) ;
58
+ RouteMessage ( LogLevel . Error , msg ) ;
59
59
}
60
60
61
61
62
62
public void Success ( string msg )
63
63
{
64
- if ( this . Level < LogEntryKind . Success )
65
- {
66
- return ;
67
- }
68
-
69
- Write ( LogEntryKind . Success , msg ) ;
64
+ RouteMessage ( LogLevel . Success , msg ) ;
70
65
}
71
66
72
67
public void Exception ( Exception ex )
0 commit comments