Pass messages with arguments to NLog in LoggerExtensions

(cherry picked from commit 9683b0af35220bb0af801779a06d73feaeba809a)
This commit is contained in:
Bogdan
2025-04-13 13:10:06 +03:00
parent d5f6cc94b8
commit 22c4c1fc9a

View File

@@ -4,27 +4,27 @@ namespace NzbDrone.Common.Instrumentation.Extensions
{ {
public static class LoggerExtensions public static class LoggerExtensions
{ {
[MessageTemplateFormatMethod("message")]
public static void ProgressInfo(this Logger logger, string message, params object[] args) public static void ProgressInfo(this Logger logger, string message, params object[] args)
{ {
var formattedMessage = string.Format(message, args); LogProgressMessage(logger, LogLevel.Info, message, args);
LogProgressMessage(logger, LogLevel.Info, formattedMessage);
} }
[MessageTemplateFormatMethod("message")]
public static void ProgressDebug(this Logger logger, string message, params object[] args) public static void ProgressDebug(this Logger logger, string message, params object[] args)
{ {
var formattedMessage = string.Format(message, args); LogProgressMessage(logger, LogLevel.Debug, message, args);
LogProgressMessage(logger, LogLevel.Debug, formattedMessage);
} }
[MessageTemplateFormatMethod("message")]
public static void ProgressTrace(this Logger logger, string message, params object[] args) public static void ProgressTrace(this Logger logger, string message, params object[] args)
{ {
var formattedMessage = string.Format(message, args); LogProgressMessage(logger, LogLevel.Trace, message, args);
LogProgressMessage(logger, LogLevel.Trace, formattedMessage);
} }
private static void LogProgressMessage(Logger logger, LogLevel level, string message) private static void LogProgressMessage(Logger logger, LogLevel level, string message, object[] parameters)
{ {
var logEvent = new LogEventInfo(level, logger.Name, message); var logEvent = new LogEventInfo(level, logger.Name, null, message, parameters);
logEvent.Properties.Add("Status", ""); logEvent.Properties.Add("Status", "");
logger.Log(logEvent); logger.Log(logEvent);