Skip to content

Commit d4a757b

Browse files
committed
Enhanced logging
User can now choose None, Error, Info, or Debug.
1 parent eaa90b3 commit d4a757b

File tree

3 files changed

+27
-25
lines changed

3 files changed

+27
-25
lines changed

Flow.Launcher.Infrastructure/Logger/Log.cs

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public static class Log
1616

1717
public static string CurrentLogDirectory { get; }
1818

19-
static Log()
19+
static Log()
2020
{
2121
CurrentLogDirectory = DataLocation.VersionLogDirectory;
2222
if (!Directory.Exists(CurrentLogDirectory))
@@ -34,7 +34,7 @@ static Log()
3434

3535
var fileTarget = new FileTarget
3636
{
37-
FileName = CurrentLogDirectory.Replace(@"\", "/") + "/${shortdate}.txt",
37+
FileName = CurrentLogDirectory.Replace(@"\", "/") + "/Flow.Launcher.${date:format=yyyyMMdd}.log",
3838
Layout = layout
3939
};
4040

@@ -45,6 +45,8 @@ static Log()
4545
Layout = layout
4646
};
4747

48+
49+
4850
configuration.AddTarget("file", fileTargetASyncWrapper);
4951
configuration.AddTarget("debug", debugTarget);
5052

@@ -65,26 +67,22 @@ static Log()
6567

6668
public static void SetLogLevel(LOGLEVEL level)
6769
{
68-
switch (level)
70+
var rule = LogManager.Configuration.FindRuleByName("file");
71+
72+
var nlogLevel = level switch
6973
{
70-
case LOGLEVEL.DEBUG:
71-
UseDebugLogLevel();
72-
break;
73-
default:
74-
UseInfoLogLevel();
75-
break;
76-
}
77-
Info(nameof(Logger), $"Using log level: {level}.");
78-
}
74+
LOGLEVEL.None => LogLevel.Off,
75+
LOGLEVEL.Error => LogLevel.Error,
76+
LOGLEVEL.Debug => LogLevel.Debug,
77+
_ => LogLevel.Info
78+
};
7979

80-
private static void UseDebugLogLevel()
81-
{
82-
LogManager.Configuration.FindRuleByName("file").SetLoggingLevels(LogLevel.Debug, LogLevel.Fatal);
83-
}
80+
rule.SetLoggingLevels(nlogLevel, LogLevel.Fatal);
8481

85-
private static void UseInfoLogLevel()
86-
{
87-
LogManager.Configuration.FindRuleByName("file").SetLoggingLevels(LogLevel.Info, LogLevel.Fatal);
82+
LogManager.ReconfigExistingLoggers();
83+
84+
// We can't log Info when level is set to Error or None, so we use Debug
85+
Debug(nameof(Logger), $"Using log level: {level}.");
8886
}
8987

9088
private static void LogFaultyFormat(string message)
@@ -169,7 +167,9 @@ public static void Warn(string className, string message, [CallerMemberName] str
169167

170168
public enum LOGLEVEL
171169
{
172-
DEBUG,
173-
INFO
170+
None,
171+
Error,
172+
Info,
173+
Debug
174174
}
175175
}

Flow.Launcher.Infrastructure/UserSettings/Settings.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,7 @@ public CustomBrowserViewModel CustomBrowser
340340
public DialogJumpFileResultBehaviours DialogJumpFileResultBehaviour { get; set; } = DialogJumpFileResultBehaviours.FullPath;
341341

342342
[JsonConverter(typeof(JsonStringEnumConverter))]
343-
public LOGLEVEL LogLevel { get; set; } = LOGLEVEL.INFO;
343+
public LOGLEVEL LogLevel { get; set; } = LOGLEVEL.Info;
344344

345345
/// <summary>
346346
/// when false Alphabet static service will always return empty results

Flow.Launcher/Languages/en.xaml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -459,11 +459,13 @@
459459
<system:String x:Key="welcomewindow">Wizard</system:String>
460460
<system:String x:Key="userdatapath">User Data Location</system:String>
461461
<system:String x:Key="userdatapathToolTip">User settings and installed plugins are saved in the user data folder. This location may vary depending on whether it's in portable mode or not.</system:String>
462-
<system:String x:Key="userdatapathButton">Open Folder</system:String>
462+
<system:String x:Key="userdatapathButton">Open Folder</system:String>
463463
<system:String x:Key="advanced">Advanced</system:String>
464464
<system:String x:Key="logLevel">Log Level</system:String>
465-
<system:String x:Key="LogLevelDEBUG">Debug</system:String>
466-
<system:String x:Key="LogLevelINFO">Info</system:String>
465+
<system:String x:Key="LogLevelNone">None</system:String>
466+
<system:String x:Key="LogLevelError">Error</system:String>
467+
<system:String x:Key="LogLevelInfo">Info</system:String>
468+
<system:String x:Key="LogLevelDebug">Debug</system:String>
467469
<system:String x:Key="settingWindowFontTitle">Setting Window Font</system:String>
468470

469471
<!-- Release Notes Window -->

0 commit comments

Comments
 (0)