@@ -48,17 +48,45 @@ static Log()
4848 configuration . AddTarget ( "file" , fileTargetASyncWrapper ) ;
4949 configuration . AddTarget ( "debug" , debugTarget ) ;
5050
51+ var fileRule = new LoggingRule ( "*" , LogLevel . Debug , fileTargetASyncWrapper )
52+ {
53+ RuleName = "file"
54+ } ;
5155#if DEBUG
52- var fileRule = new LoggingRule ( "*" , LogLevel . Debug , fileTargetASyncWrapper ) ;
53- var debugRule = new LoggingRule ( "*" , LogLevel . Debug , debugTarget ) ;
56+ var debugRule = new LoggingRule ( "*" , LogLevel . Debug , debugTarget )
57+ {
58+ RuleName = "debug"
59+ } ;
5460 configuration . LoggingRules . Add ( debugRule ) ;
55- #else
56- var fileRule = new LoggingRule ( "*" , LogLevel . Info , fileTargetASyncWrapper ) ;
5761#endif
5862 configuration . LoggingRules . Add ( fileRule ) ;
5963 LogManager . Configuration = configuration ;
6064 }
6165
66+ public static void SetLogLevel ( LOGLEVEL level )
67+ {
68+ switch ( level )
69+ {
70+ case LOGLEVEL . DEBUG :
71+ UseDebugLogLevel ( ) ;
72+ break ;
73+ default :
74+ UseInfoLogLevel ( ) ;
75+ break ;
76+ }
77+ Info ( nameof ( Logger ) , $ "Using log level: { level } .") ;
78+ }
79+
80+ private static void UseDebugLogLevel ( )
81+ {
82+ LogManager . Configuration . FindRuleByName ( "file" ) . SetLoggingLevels ( LogLevel . Debug , LogLevel . Fatal ) ;
83+ }
84+
85+ private static void UseInfoLogLevel ( )
86+ {
87+ LogManager . Configuration . FindRuleByName ( "file" ) . SetLoggingLevels ( LogLevel . Info , LogLevel . Fatal ) ;
88+ }
89+
6290 private static void LogFaultyFormat ( string message )
6391 {
6492 var logger = LogManager . GetLogger ( "FaultyLogger" ) ;
@@ -206,4 +234,10 @@ public static void Warn(string message)
206234 LogInternal ( message , LogLevel . Warn ) ;
207235 }
208236 }
237+
238+ public enum LOGLEVEL
239+ {
240+ DEBUG ,
241+ INFO
242+ }
209243}
0 commit comments