各位朋友:
按照这里的说明,我让NServiceBus日志正常工作:http://docs.particular.net/nservicebus/logging/
但是,我使用的是Common.Logging。如果我使用Common.Logging的LogManager,它不会记录。
如果我在log4net上使用LogManager,一切都会正常工作。
有谁有什么见解吗?
发布于 2011-05-12 04:15:29
我想通了。我需要以编程方式设置Common.Logging,而不是以声明方式(在配置文件中)。
基本上,我在进行流畅总线配置之前添加了这一行:
LogManager.Adapter = new Log4NetLoggerFactoryAdapter(new NameValueCollection { { "configType", "INLINE" } });
SetLoggingLibrary.Log4Net(log4net.Config.XmlConfigurator.Configure);我的总线日志部分如下所示:
.Log4Net<ColoredConsoleAppender>(cca =>
{
cca.Layout = patternLayout;
})
.Log4Net<RollingFileAppender>(fa =>
{
fa.File = "log/handler.log";
fa.AppendToFile = true;
fa.RollingStyle = RollingFileAppender.RollingMode.Size;
fa.MaxSizeRollBackups = 5;
fa.MaximumFileSize = "1000KB";
fa.StaticLogFileName = true;
fa.Layout = patternLayout;
})这允许我在配置文件中加载日志记录级别,但将附加器配置保留在Udi建议的代码中(我认为这是一个很好的想法)
我知道我可以使用nServiceBus的内置日志级别,但是我不知道如何对其进行细粒度的控制,这样我就可以忽略nHibernate日志,但是可以获得所有的nServiceBus日志。
如果任何人需要关于我所做的更多指导,请在这里评论,或者如果你知道如何使用nServiceBus日志级别获得细粒度控制,也让我知道这一点。
发布于 2011-05-11 12:50:35
Common.Logging作为log4net的抽象,用于NServiceBus的内部用途。
发布于 2016-01-29 13:36:34
从NServiceBus 5开始,支持OOTB http://docs.particular.net/nservicebus/logging/common-logging CommonLogging
https://stackoverflow.com/questions/5955099
复制相似问题