1
+ namespace Common
2
+ {
3
+ using System ;
4
+ using System . Reflection ;
5
+ using BepInEx . Logging ;
6
+
7
+ public static class QuickLogger
8
+ {
9
+ private static readonly AssemblyName ModName = Assembly . GetExecutingAssembly ( ) . GetName ( ) ;
10
+ private static readonly ManualLogSource _manualLogSource ;
11
+
12
+ public static bool DebugLogsEnabled = false ;
13
+
14
+ static QuickLogger ( )
15
+ {
16
+ _manualLogSource = Logger . CreateLogSource ( ModName . Name ) ;
17
+ }
18
+
19
+ public static void Info ( string msg , bool showOnScreen = false )
20
+ {
21
+ _manualLogSource . LogInfo ( msg ) ;
22
+ if ( showOnScreen )
23
+ ErrorMessage . AddMessage ( msg ) ;
24
+ }
25
+
26
+ public static void Debug ( string msg , bool showOnScreen = false )
27
+ {
28
+ _manualLogSource . LogDebug ( msg ) ;
29
+
30
+ if ( DebugLogsEnabled && showOnScreen )
31
+ ErrorMessage . AddDebug ( msg ) ;
32
+ }
33
+
34
+ public static void Error ( string msg , bool showOnScreen = false )
35
+ {
36
+ _manualLogSource . LogError ( msg ) ;
37
+
38
+ if ( showOnScreen )
39
+ ErrorMessage . AddError ( msg ) ;
40
+ }
41
+
42
+ public static void Error ( string msg , Exception ex )
43
+ {
44
+ _manualLogSource . LogError ( $ "{ msg } { Environment . NewLine } { ex } ") ;
45
+ }
46
+
47
+ public static void Error ( Exception ex )
48
+ {
49
+ _manualLogSource . LogError ( ex ) ;
50
+ }
51
+
52
+ public static void Warning ( string msg , bool showOnScreen = false )
53
+ {
54
+ _manualLogSource . LogWarning ( msg ) ;
55
+
56
+ if ( showOnScreen )
57
+ ErrorMessage . AddWarning ( msg ) ;
58
+ }
59
+
60
+ /// <summary>
61
+ /// Creates the version string in format "#.#.#" or "#.#.# rev:#"
62
+ /// </summary>
63
+ public static string GetAssemblyVersion ( )
64
+ {
65
+ Version version = ModName . Version ;
66
+
67
+ // Major Version
68
+ // Minor Version
69
+ // Build Number
70
+ // Revision
71
+
72
+ if ( version . Revision > 0 )
73
+ {
74
+ return $ "{ version . Major } .{ version . Minor } .{ version . Build } rev:{ version . Revision } ";
75
+ }
76
+
77
+ if ( version . Build > 0 )
78
+ {
79
+ return $ "{ version . Major } .{ version . Minor } .{ version . Build } ";
80
+ }
81
+
82
+ if ( version . Minor > 0 )
83
+ {
84
+ return $ "{ version . Major } .{ version . Minor } .0";
85
+ }
86
+
87
+ return $ "{ version . Major } .0.0";
88
+ }
89
+
90
+ public static string GetAssemblyName ( )
91
+ {
92
+ return ModName . Name ;
93
+ }
94
+ }
95
+ }
0 commit comments