【发布时间】:2016-07-20 12:00:22
【问题描述】:
我有一个使用 NLog 日志库的程序。我有一个包含目标和规则的配置文件,我以编程方式添加了一些规则以写入数据库。直到现在一切正常。
现在我喜欢以编程方式更改配置。我用SimpleConfigurator
NLog.Config.SimpleConfigurator.ConfigureForTargetLogging(target, LogLevel.Fatal)
我的 VB 代码如下所示:
Dim target As MailTarget = New MailTarget()
target.Name = "Mailing"
target.Html = True
target.Body = "${message}"
target.SmtpServer = EmailSending.SendingServer
target.From = EmailSending.EmailSender
target.Encoding = System.Text.Encoding.UTF8
target.[To] = EmailSending.EmailReceiver
target.EnableSsl = EmailSending.EnableSSl
target.SmtpPort = EmailSending.sendingPort
target.SmtpUserName = EmailSending.EmailSender
target.SmtpPassword = EmailSending.EmailsenderPw
现在将这些东西添加到配置中:
LogManager.Configuration.AddTarget("Mailing", target)
Dim MailTarget As NLog.Targets.Target = LogManager.Configuration.FindTargetByName("Mailing")
Dim loggerRule As NLog.Config.LoggingRule = New NLog.Config.LoggingRule("*", LogLevel.Fatal, MailTarget)
LogManager.Configuration.LoggingRules.Add(loggerRule)
新的目标和规则有效,但“simpleconfigurator”清除了以前的配置。我该如何防止呢? 感谢您的帮助!
【问题讨论】:
-
你好。 Nlog 似乎不是这样工作的。这就是为什么我现在用.Net Mailing 类解决了它。我认为 Nlog 存在错误。