Pass messages with arguments to NLog in LoggerExtensions

This commit is contained in:
Bogdan 2025-04-13 13:10:06 +03:00 committed by Mark McDowall
parent 76b1130b68
commit 9683b0af35

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);