在Web应用程序中使用时,NLog Mail目标失败

时间:2016-04-28 08:36:31

标签: email web-config target nlog

我刚刚将NancyFx Web应用程序中的NLog升级到版本4.3.2,该应用程序现在在第一次尝试获取Logger实例时抛出错误。抛出的错误是:

  不在独立的exe内部运行时必须指定

的exePath

我已将问题缩小到NLog Mail目标,该目标(根据其来源)试图阅读:

  

System.Configuration.ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None).GetSection( “system.net/mailSettings/smtp”)   作为SmtpSection

...尝试从应用程序的web.config文件中查找邮件设置。 OpenExeConfiguration需要一个app.exe.config文件,该文件对于Web应用程序不存在。

所以,我的问题是如何告诉NLog在哪里找到web.config文件,或者更好的是,我怎么能告诉NLog不要费心查看web.config文件,因为我没有存储任何文件那里的邮件设置?

这是我在nlog.config中的目标xml:

<target xsi:type="Mail"
        name="smtplog"
        layout="${longdate} ${logger} ${message}"
        useSystemNetMailSettings="false"
        to="test-to@test.com"
        from="test-from@test.com"
        smtpUserName="USERNAME"
        enableSsl="True"
        smtpPassword="PASSWORD"
        smtpAuthentication="Basic"
        smtpServer="smtp.sendgrid.net"
        smtpPort="587" />

如果删除目标,则应用程序加载正常。

ps这对我使用的早期版本的NLog(v2.1.0)

工作得很好

1 个答案:

答案 0 :(得分:0)

这是NLog 4.3.2中的一个错误,已在4.3.3中修复