У меня есть программа, которая использует библиотеку протоколов NLog. У меня есть файл конфигурации с целями и правилами, я добавляю программно некоторые правила для записи в базу данных. До сих пор все работает нормально.Nlog Email Target Programmatically
Теперь мне нравится менять конфигурацию программно. Я использую 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. –
Что такое ошибка? – Julian