Возможно ли получить журнал NServiceBus3 в NLog? и если да, у кого-нибудь есть примеры, как это сделать?
РЕДАКТИРОВАТЬ: Решение
Если кому-то интересно, вот моя реализация appender, некоторые уровни log4net, вероятно, не сопоставлены с разумными областями NLog, но это должно дать другим людям хотя бы начальную точку
// Setup a custom formatter like the one below to get nice exception logging
//<target name="YourLogFile" xsi:type="File" fileName="${basedir}/../logs/YourLogFile.log" archiveFileName="${basedir}/../logs/archives/YourLogFile.{#####}.log"
//layout="${longdate}|${level:uppercase=true}|${logger}|${message}${onexception:|EXCEPTION OCCURRED\:${exception:format=type,message,method:maxInnerExceptionLevel=5:innerFormat=shortType,message,method}}"
//archiveEvery="Day" archiveNumbering="Sequence" maxArchiveFiles="14" />
public class NlogAppenderForLog4Net : AppenderSkeleton
{
protected override void Append(log4net.Core.LoggingEvent loggingEvent)
{
var Logger = LogManager.GetLogger(loggingEvent.LoggerName);
if (loggingEvent.Level == Level.Fatal)
{
if (loggingEvent.ExceptionObject != null)
{
Logger.FatalException(loggingEvent.RenderedMessage, loggingEvent.ExceptionObject);
}
else
{
Logger.Fatal(loggingEvent.RenderedMessage);
}
}
//if its an error
else if(loggingEvent.Level == Level.Error ||
loggingEvent.Level == Level.Critical ||
loggingEvent.Level == Level.Emergency)
{
if(loggingEvent.ExceptionObject != null)
{
Logger.ErrorException(loggingEvent.RenderedMessage, loggingEvent.ExceptionObject);
}
else{
Logger.Error(loggingEvent.RenderedMessage);
}
}
//if its a warning
else if (loggingEvent.Level == Level.Warn)
{
if (loggingEvent.ExceptionObject != null)
{
Logger.WarnException(loggingEvent.RenderedMessage, loggingEvent.ExceptionObject);
}
else
{
Logger.Warn(loggingEvent.RenderedMessage);
}
}
//if its info
else if (loggingEvent.Level == Level.Info || loggingEvent.Level == Level.Notice)
{
Logger.Info(loggingEvent.RenderedMessage);
}
else
{
Logger.Trace(loggingEvent.RenderedMessage);
}
}
}
и вот как я подключаю его в NServiceBus
.Log4Net<NlogAppenderForLog4Net>(a => { })