2013-02-01 155 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