File tree Expand file tree Collapse file tree
Source/ExcelDna.Integration Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -143,6 +143,16 @@ public static void Initialize()
143143 IntegrationTraceSource . Listeners . Add ( new LogDisplayTraceListener ( "LogDisplay" , settings . LogDisplayLevel ) ) ;
144144 }
145145
146+ if ( ! string . IsNullOrWhiteSpace ( settings . FileName ) )
147+ {
148+ Trace . AutoFlush = true ;
149+
150+ TextWriterTraceListener textWriterTraceListener = new TextWriterTraceListener ( settings . FileName , "FileWriter" ) ;
151+ if ( settings . FileLevel . HasValue )
152+ textWriterTraceListener . Filter = new DiagnosticsFilter ( settings . FileLevel . Value ) ;
153+ IntegrationTraceSource . Listeners . Add ( textWriterTraceListener ) ;
154+ }
155+
146156 AppDomain currentDomain = AppDomain . CurrentDomain ;
147157 //currentDomain.UnhandledException += UnhandledExceptionHandler;
148158 currentDomain . DomainUnload += AppDomainUnloadEvent ;
Original file line number Diff line number Diff line change @@ -9,6 +9,8 @@ internal class LoggingSettings
99 public SourceLevels SourceLevel { get ; }
1010 public TraceEventType ? LogDisplayLevel { get ; }
1111 public TraceEventType ? DebuggerLevel { get ; }
12+ public TraceEventType ? FileLevel { get ; }
13+ public string FileName { get ; }
1214
1315 public LoggingSettings ( )
1416 {
@@ -19,6 +21,11 @@ public LoggingSettings()
1921
2022 if ( Enum . TryParse ( GetCustomSetting ( "DEBUGGER_LEVEL" , "DebuggerLevel" ) , out TraceEventType debuggerLevelResult ) )
2123 DebuggerLevel = debuggerLevelResult ;
24+
25+ if ( Enum . TryParse ( GetCustomSetting ( "FILE_LEVEL" , "FileLevel" ) , out TraceEventType fileLevelResult ) )
26+ FileLevel = fileLevelResult ;
27+
28+ FileName = GetCustomSetting ( "FILE_NAME" , "FileName" ) ;
2229 }
2330
2431 private static string GetCustomSetting ( string environmentName , string registryName )
You can’t perform that action at this time.
0 commit comments