core: restore stacktraces for UI 'view logs'. resolves #14585 (#14619)

This commit is contained in:
ilike2burnthing
2023-08-10 23:14:37 +01:00
committed by GitHub
parent 8b30469255
commit 073d0e27a8
2 changed files with 10 additions and 7 deletions

View File

@@ -9,7 +9,7 @@ using NLog.Targets;
namespace Jackett.Common.Services namespace Jackett.Common.Services
{ {
[Target("LogService")] [Target("LogService")]
public class LogCacheService : TargetWithLayout, ILogCacheService public sealed class LogCacheService : TargetWithLayout, ILogCacheService
{ {
private static List<CachedLog> _Logs = new List<CachedLog>(); private static List<CachedLog> _Logs = new List<CachedLog>();
@@ -24,16 +24,16 @@ namespace Jackett.Common.Services
} }
} }
protected override void Write(LogEventInfo logEvent) => AddLog(logEvent); protected override void Write(LogEventInfo logEvent) => AddLog(logEvent, Layout.Render(logEvent));
private static void AddLog(LogEventInfo logEvent) private static void AddLog(LogEventInfo logEvent, string logMessage)
{ {
lock (_Logs) lock (_Logs)
{ {
_Logs.Insert(0, new CachedLog _Logs.Insert(0, new CachedLog
{ {
Level = logEvent.Level.Name, Level = logEvent.Level.Name,
Message = CleanseLogMessage.Cleanse(logEvent.FormattedMessage), Message = CleanseLogMessage.Cleanse(logMessage),
When = logEvent.TimeStamp When = logEvent.TimeStamp
}); });

View File

@@ -66,7 +66,10 @@ namespace Jackett.Common.Utils
var logConsoleRule = new LoggingRule("*", logLevel, logConsole); var logConsoleRule = new LoggingRule("*", logLevel, logConsole);
logConfig.LoggingRules.Add(logConsoleRule); logConfig.LoggingRules.Add(logConsoleRule);
var logService = new LogCacheService(); var logService = new LogCacheService
{
Layout = "${message}${onexception:inner=${newline}${newline}[v${assembly-version}] ${exception:format=ToString}${newline}}"
};
logConfig.AddTarget("service", logService); logConfig.AddTarget("service", logService);
var serviceRule = new LoggingRule("*", logLevel, logService); var serviceRule = new LoggingRule("*", logLevel, logService);