2014-01-08 64 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

谢谢,这正是我一直在寻找的。 –