Skip to content

Commit e870dd2

Browse files
Allow log level selection
1 parent 36e10a1 commit e870dd2

File tree

3 files changed

+34
-4
lines changed

3 files changed

+34
-4
lines changed

Flow.Launcher.Infrastructure/Logger/Log.cs

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,17 +48,31 @@ 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 UseDebugLogLevel()
67+
{
68+
LogManager.Configuration.FindRuleByName("file").SetLoggingLevels(LogLevel.Debug, LogLevel.Fatal);
69+
}
70+
71+
public static void UseInfoLogLevel()
72+
{
73+
LogManager.Configuration.FindRuleByName("file").SetLoggingLevels(LogLevel.Info, LogLevel.Fatal);
74+
}
75+
6276
private static void LogFaultyFormat(string message)
6377
{
6478
var logger = LogManager.GetLogger("FaultyLogger");

Flow.Launcher.Infrastructure/UserSettings/Settings.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,8 @@ public CustomBrowserViewModel CustomBrowser
199199
}
200200
};
201201

202+
public string LogLevel = "info";
203+
202204
/// <summary>
203205
/// when false Alphabet static service will always return empty results
204206
/// </summary>

Flow.Launcher/App.xaml.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,20 @@ await Stopwatch.NormalAsync("|App.OnStartup|Startup cost", async () =>
122122

123123
var imageLoadertask = ImageLoader.InitializeAsync();
124124

125+
switch (_settings.LogLevel)
126+
{
127+
case "debug":
128+
Log.UseDebugLogLevel();
129+
break;
130+
case "info":
131+
Log.UseInfoLogLevel();
132+
break;
133+
default:
134+
Log.Error(nameof(Flow.Launcher.App), "Unrecognized log level");
135+
Log.UseDebugLogLevel();
136+
break;
137+
}
138+
125139
AbstractPluginEnvironment.PreStartPluginExecutablePathUpdate(_settings);
126140

127141
// TODO: Clean InternationalizationManager.Instance and InternationalizationManager.Instance.GetTranslation in future

0 commit comments

Comments
 (0)