|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using NLog;
|
|
|
|
|
using NzbDrone.Common.Messaging.Tracking;
|
|
|
|
|
|
|
|
|
|
namespace NzbDrone.Common.Instrumentation
|
|
|
|
|
{
|
|
|
|
|
public static class LoggerExtensions
|
|
|
|
|
{
|
|
|
|
|
public static void Progress(this Logger logger, string message)
|
|
|
|
|
{
|
|
|
|
|
LogProgressMessage(logger, message, ProcessState.Running);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void Progress(this Logger logger, string message, params object[] args)
|
|
|
|
|
{
|
|
|
|
|
var formattedMessage = String.Format(message, args);
|
|
|
|
|
Progress(logger, formattedMessage);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void Complete(this Logger logger, string message)
|
|
|
|
|
{
|
|
|
|
|
LogProgressMessage(logger, message, ProcessState.Completed);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void Complete(this Logger logger, string message, params object[] args)
|
|
|
|
|
{
|
|
|
|
|
var formattedMessage = String.Format(message, args);
|
|
|
|
|
Complete(logger, formattedMessage);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void Failed(this Logger logger, string message)
|
|
|
|
|
{
|
|
|
|
|
LogProgressMessage(logger, message, ProcessState.Failed);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void Failed(this Logger logger, string message, params object[] args)
|
|
|
|
|
{
|
|
|
|
|
var formattedMessage = String.Format(message, args);
|
|
|
|
|
Failed(logger, formattedMessage);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static void LogProgressMessage(Logger logger, string message, ProcessState state)
|
|
|
|
|
{
|
|
|
|
|
var logEvent = new LogEventInfo(LogLevel.Info, logger.Name, message);
|
|
|
|
|
logEvent.Properties.Add("Status", state);
|
|
|
|
|
|
|
|
|
|
logger.Log(logEvent);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|