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
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 7 deletions

View File

@ -9,7 +9,7 @@ using NLog.Targets;
namespace Jackett.Common.Services
{
[Target("LogService")]
public class LogCacheService : TargetWithLayout, ILogCacheService
public sealed class LogCacheService : TargetWithLayout, ILogCacheService
{
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)
{
_Logs.Insert(0, new CachedLog
{
Level = logEvent.Level.Name,
Message = CleanseLogMessage.Cleanse(logEvent.FormattedMessage),
Message = CleanseLogMessage.Cleanse(logMessage),
When = logEvent.TimeStamp
});

View File

@ -22,7 +22,7 @@ namespace Jackett.Common.Utils
var logFile = new CleanseFileTarget
{
Layout = "${longdate} ${level} ${message} ${onexception:inner=${newline}${newline}[v${assembly-version}] ${exception:format=ToString}${newline}}",
Layout = "${longdate} ${level} ${message}${onexception:inner=${newline}${newline}[v${assembly-version}] ${exception:format=ToString}${newline}}",
FileName = Path.Combine(settings.DataFolder, logFileName),
ArchiveFileName = Path.Combine(settings.DataFolder, logFileName + ".{#####}.txt"),
ArchiveAboveSize = 2097152, // 2 MB
@ -59,14 +59,17 @@ namespace Jackett.Common.Utils
{
var logConsole = new ColoredConsoleTarget
{
Layout = "${date:format=MM-dd HH\\:mm\\:ss} ${level} ${message} ${onexception:inner=${newline}${newline}[v${assembly-version}] ${exception:format=ToString}${newline}}"
Layout = "${date:format=MM-dd HH\\:mm\\:ss} ${level} ${message}${onexception:inner=${newline}${newline}[v${assembly-version}] ${exception:format=ToString}${newline}}"
};
logConfig.AddTarget("console", logConsole);
var logConsoleRule = new LoggingRule("*", logLevel, logConsole);
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);
var serviceRule = new LoggingRule("*", logLevel, logService);