Skip to content

Commit 1f9820d

Browse files
committed
Added FileLevel and FileName settings.
1 parent 150caec commit 1f9820d

2 files changed

Lines changed: 17 additions & 0 deletions

File tree

Source/ExcelDna.Integration/Logging.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff 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;

Source/ExcelDna.Integration/LoggingSettings.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff 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)

0 commit comments

Comments
 (0)