@@ -39,44 +39,55 @@ internal static class Logging {
3939 private static readonly HashSet < LoggingRule > ConsoleLoggingRules = new HashSet < LoggingRule > ( ) ;
4040 private static readonly Logger Logger = LogManager . GetCurrentClassLogger ( ) ;
4141
42- internal static void Init ( ) {
42+ private static bool IsUsingCustomConfiguration ;
43+
44+ internal static void InitCoreLoggers ( ) {
4345 if ( LogManager . Configuration != null ) {
4446 // User provided custom NLog config, or we have it set already, so don't override it
47+ IsUsingCustomConfiguration = true ;
4548 InitConsoleLoggers ( ) ;
4649 return ;
4750 }
4851
4952 LoggingConfiguration config = new LoggingConfiguration ( ) ;
5053
54+ ColoredConsoleTarget consoleTarget = new ColoredConsoleTarget ( "Console" ) {
55+ Layout = Layout
56+ } ;
57+
58+ config . AddTarget ( consoleTarget ) ;
59+ config . LoggingRules . Add ( new LoggingRule ( "*" , LogLevel . Trace , consoleTarget ) ) ;
60+
61+ LogManager . Configuration = config ;
62+ InitConsoleLoggers ( ) ;
63+ }
64+
65+ internal static void InitEnhancedLoggers ( ) {
66+ if ( IsUsingCustomConfiguration ) {
67+ return ;
68+ }
69+
5170 if ( Program . GlobalConfig . LogToFile ) {
5271 FileTarget fileTarget = new FileTarget ( "File" ) {
5372 DeleteOldFileOnStartup = true ,
5473 FileName = Program . LogFile ,
5574 Layout = Layout
5675 } ;
5776
58- config . AddTarget ( fileTarget ) ;
59- config . LoggingRules . Add ( new LoggingRule ( "*" , LogLevel . Trace , fileTarget ) ) ;
77+ LogManager . Configuration . AddTarget ( fileTarget ) ;
78+ LogManager . Configuration . LoggingRules . Add ( new LoggingRule ( "*" , LogLevel . Trace , fileTarget ) ) ;
6079 }
6180
6281 if ( Program . IsRunningAsService ) {
6382 EventLogTarget eventLogTarget = new EventLogTarget ( "EventLog" ) {
6483 Layout = Layout
6584 } ;
6685
67- config . AddTarget ( eventLogTarget ) ;
68- config . LoggingRules . Add ( new LoggingRule ( "*" , LogLevel . Trace , eventLogTarget ) ) ;
86+ LogManager . Configuration . AddTarget ( eventLogTarget ) ;
87+ LogManager . Configuration . LoggingRules . Add ( new LoggingRule ( "*" , LogLevel . Trace , eventLogTarget ) ) ;
6988 }
7089
71- ColoredConsoleTarget consoleTarget = new ColoredConsoleTarget ( "Console" ) {
72- Layout = Layout
73- } ;
74-
75- config . AddTarget ( consoleTarget ) ;
76- config . LoggingRules . Add ( new LoggingRule ( "*" , LogLevel . Trace , consoleTarget ) ) ;
77-
78- LogManager . Configuration = config ;
79- InitConsoleLoggers ( ) ;
90+ LogGenericInfo ( "Logging module initialized!" ) ;
8091 }
8192
8293 internal static void OnUserInputStart ( ) {
0 commit comments