Я использую NLog в проекте службы Windows. Мы используем EasyNetQ для обмена сообщениями, и я расширил EasyNetQLogger, чтобы в моих журнальных файлах появлялись сообщения LogNet.NLog Logger получает неправильное имя
Класс, как это:
public class EasyNetQLogger : IEasyNetQLogger
{
private readonly Logger _traceLogger;
public EasyNetQLogger()
{
_traceLogger = LogManager.GetCurrentClassLogger();
}
public void DebugWrite(string format, params object[] args)
{
_traceLogger.Trace(String.Format(format, args));
}
public void InfoWrite(string format, params object[] args)
{
_traceLogger.Info(String.Format(format, args));
}
public void ErrorWrite(string format, params object[] args)
{
_traceLogger.Error(String.Format(format, args));
}
public void ErrorWrite(Exception exception)
{
_traceLogger.Error("Exception in EasyNetQ", exception);
}
}
Когда я создаю автобус-экземпляр, я делаю это, как это в моем классе ServiceController:
var bus = RabbitHutch.CreateBus(config.MessageBus, x => x.Register<IEasyNetQLogger>(_ => new EasyNetQLogger()));
Мое имя регистратор становится «ServiceController» а не .... EasyNetQLogger. Я хочу, чтобы сообщение EasyNetQ появилось в отдельном файле, но я не могу, поскольку в этом классе ServiceController есть другие вещи.
Кто-нибудь знает, как я мог бы достичь желаемого имени журнала «EasyNetQLogger»?