Skip to content

Commit b955fde

Browse files
committed
Use NLog Exception Handler, and , NLog Debug Message Printer, and change layout
1 parent 8fe285b commit b955fde

File tree

4 files changed

+26
-27
lines changed

4 files changed

+26
-27
lines changed

Flow.Launcher.Core/Plugin/PluginManager.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,10 @@ public static async Task<List<Result>> QueryForPluginAsync(PluginPair pair, Quer
184184
// null will be fine since the results will only be added into queue if the token hasn't been cancelled
185185
return null;
186186
}
187+
catch (Exception e)
188+
{
189+
Log.Exception("PluginManager", "Exception", e);
190+
}
187191

188192
return results;
189193
}

Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,9 @@
5151
<ItemGroup>
5252
<PackageReference Include="Ben.Demystifier" Version="0.4.1" />
5353
<PackageReference Include="Microsoft.VisualStudio.Threading" Version="16.10.56" />
54-
<PackageReference Include="NLog.Schema" Version="4.7.0-rc1" />
55-
<PackageReference Include="NLog.Web.AspNetCore" Version="4.9.0" />
54+
<PackageReference Include="NLog" Version="4.7.10" />
55+
<PackageReference Include="NLog.Schema" Version="4.7.10" />
56+
<PackageReference Include="NLog.Web.AspNetCore" Version="4.12.0" />
5657
<PackageReference Include="System.Drawing.Common" Version="4.7.0" />
5758
<PackageReference Include="ToolGood.Words.Pinyin" Version="3.0.1.4" />
5859
</ItemGroup>

Flow.Launcher.Infrastructure/Logger/Log.cs

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@
66
using NLog.Targets;
77
using Flow.Launcher.Infrastructure.UserSettings;
88
using JetBrains.Annotations;
9+
using NLog.Fluent;
910
using NLog.Targets.Wrappers;
1011
using System.Runtime.ExceptionServices;
12+
using System.Text;
1113

1214
namespace Flow.Launcher.Infrastructure.Logger
1315
{
@@ -26,29 +28,33 @@ static Log()
2628
}
2729

2830
var configuration = new LoggingConfiguration();
31+
32+
const string layout = @"${logger}->${time}|${level}|${message}|${onexception:inner=${logger}->${date:format=HH\:mm\:ss}|${level}|${message}|${newline}${exception:format=toString}${newline}";
33+
2934
var fileTarget = new FileTarget
3035
{
31-
FileName = CurrentLogDirectory.Replace(@"\", "/") + "/${shortdate}.txt"
36+
FileName = CurrentLogDirectory.Replace(@"\", "/") + "/${shortdate}.txt",
37+
Layout = layout
3238
};
3339

3440
var fileTargetASyncWrapper = new AsyncTargetWrapper(fileTarget);
3541

36-
var debugTarget = new DebuggerTarget
42+
var debugTarget = new OutputDebugStringTarget
3743
{
38-
Layout = "${level:uppercase=true}|${message}"
44+
Layout = layout
3945
};
40-
46+
4147
configuration.AddTarget("file", fileTargetASyncWrapper);
42-
configuration.AddTarget("console", debugTarget);
48+
configuration.AddTarget("debug", debugTarget);
49+
4350
#if DEBUG
4451
var fileRule = new LoggingRule("*", LogLevel.Debug, fileTargetASyncWrapper);
4552
var debugRule = new LoggingRule("*", LogLevel.Debug, debugTarget);
53+
configuration.LoggingRules.Add(debugRule);
4654
#else
47-
var rule = new LoggingRule("*", LogLevel.Info, fileTargetASyncWrapper);
48-
var debugRule = new LoggingRule("*", LogLevel.Info, consoleTarget);
55+
var fileRule = new LoggingRule("*", LogLevel.Info, fileTargetASyncWrapper);
4956
#endif
5057
configuration.LoggingRules.Add(fileRule);
51-
configuration.LoggingRules.Add(debugRule);
5258
LogManager.Configuration = configuration;
5359
}
5460

@@ -105,22 +111,9 @@ private static void ExceptionInternal(string classAndMethod, string message, Sys
105111
{
106112
var logger = LogManager.GetLogger(classAndMethod);
107113

114+
var messageBuilder = new StringBuilder();
108115

109-
logger.Error("-------------------------- Begin exception --------------------------");
110-
logger.Error(message);
111-
112-
do
113-
{
114-
logger.Error($"Exception full name:\n <{e.GetType().FullName}>");
115-
logger.Error($"Exception message:\n <{e.Message}>");
116-
logger.Error($"Exception stack trace:\n <{e.StackTrace}>");
117-
logger.Error($"Exception source:\n <{e.Source}>");
118-
logger.Error($"Exception target site:\n <{e.TargetSite}>");
119-
logger.Error($"Exception HResult:\n <{e.HResult}>");
120-
e = e.InnerException;
121-
} while (e != null);
122-
123-
logger.Error("-------------------------- End exception --------------------------");
116+
logger.Error(e, message);
124117
}
125118

126119
private static void LogInternal(string message, LogLevel level)
@@ -141,7 +134,6 @@ private static void LogInternal(string message, LogLevel level)
141134

142135
/// <param name="message">example: "|prefix|unprefixed" </param>
143136
/// <param name="e">Exception</param>
144-
[MethodImpl(MethodImplOptions.Synchronized)]
145137
public static void Exception(string message, System.Exception e)
146138
{
147139
e = e.Demystify();

Flow.Launcher/Helper/ErrorReporting.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
using NLog;
44
using Flow.Launcher.Infrastructure;
55
using Flow.Launcher.Infrastructure.Exception;
6+
using NLog.Fluent;
7+
using Log = Flow.Launcher.Infrastructure.Logger.Log;
68

79
namespace Flow.Launcher.Helper
810
{
@@ -45,4 +47,4 @@ public static string DependenciesInfo()
4547
return info;
4648
}
4749
}
48-
}
50+
}

0 commit comments

Comments
 (0)