2013-02-01 206 views
0

我有NServiceBus自定义日志记录的问题。NServiceBus log4Net appender

我已经设置了配置,当我得到我的记录器的appender列表为空。有没有人有任何想法我错过/做错了?

干杯

我的终点就是:

public void Init() 
     { 
      SetLoggingLibrary.Log4Net(log4net.Config.XmlConfigurator.Configure); 

      Configure.With().DisableTimeoutManager(); 


     } 

我的app.config:

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/> 

<log4net> 
    <appender name="SmtpAppender" type="log4net.Appender.SmtpAppender"> 
     <threshold value="DEBUG"/> 
     <to value="[email protected]" /> 
     <from value="[email protected]" /> 
     <subject value="Error" /> 
     <smtpHost value="localhost" /> 
     <bufferSize value="512" /> 
     <lossy value="false" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] &lt;%X{auth}&gt; - %m%n"/> 
     </layout> 
    </appender> 
    <root> 
     <level value="DEBUG"/> 
     <appender-ref ref="SmtpAppender" /> 
    </root> 
    </log4net> 
+0

是否将.Log4Net()添加到您的配置帮助中?它可能应该读取Configure.With()。Log4Net()。DisableTimeoutManager(); – stephenl

+0

每次nservicebus日志调试时你真的想要一封电子邮件吗? –

+0

感谢您的回复,我刚刚将日志记录更改为使用NLog,因为我觉得它在配置方面比log4net更好。戴夫,调试只是为了测试目的 – Paddy

回答

0

请尝试以下(假设你使用AsA_Server为终点的作用,否则修改):

public class EndpointConfig : IConfigureThisEndpoint, AsA_Server, IWantCustomLogging 
{ 
    public void Init() 
    { 
     NServiceBus.SetLoggingLibrary.Log4Net(log4net.Config.XmlConfigurator.Configure); 

     Configure.With() 
        .DisableTimeoutManager(); 
    } 
} 

欲了解更多信息,请参阅this sample project