2014-01-08 211 views
1

我有NLog配置爲記錄錯誤郵件目標使用公司smtp服務器。NLog smtp故障轉移

<target name="email" xsi:type="Mail" 
     from="[email protected]" 
     to="[email protected]" 
     subject="KIT - ${logger}" 
     body="${message} ${exception:format=tostring}" 
     smtpServer="ccc.ddd.cz" 
     smtpPort="25" 
     smtpUserName="abc" 
     smtpPassword="abc" /> 

一切工作正常,直到smtp服務器關閉。我想以某種方式配置爲當主smtp服務器不可用時使用輔助smtp服務器 - 一種SMTP故障轉移。

任何想法如何在NLog中配置它? NLog可以實現這一點嗎?

回答

1

從GitHub上的NLOG FallbackGroup文檔:

<targets> 
    <target xsi:type="FallbackGroup" name="String" returnToFirstOnSuccess="Boolean"> 
    <target xsi:type="wrappedTargetType" ... /> 
    <target xsi:type="wrappedTargetType" ... /> 
    ... 
    <target xsi:type="wrappedTargetType" ... /> 
    </target> 
</targets> 

您列出的順序,你希望NLOG目標,以試圖使用它們。不要忘記設置name="String"(在你的情況下「電子郵件」)和returnToFirstOnSuccess="Boolean",通常是「真實的」,但可能不適合你,這取決於你爲什麼必須進行故障轉移/回退。如果它通常只是一個短暫的問題,切換回主要是有道理的。如果通常是因爲主服務器長時間處於關閉狀態,則可能需要將其設置爲false,以便使用輔助服務器的成功日誌不會使NLog每次都切換回主服務器,因爲它最終只會做再次回退。

+0

謝謝,這正是我一直在尋找的。 –