В порядке. Я создал собственный SmtpAppender для использования динамического адреса электронной почты To.
Используя пример проекта, предоставленный с помощью Log4net, мне удалось использовать динамический адрес электронной почты, как показано ниже.
log4net.ThreadContext.Properties["ToProperty"] = "[email protected]";
и в моем пользовательском SMTPAppender
string mailMessageTo;
if (ToProperty == null)
{
mailMessageTo = "[email protected]" }
else
{
var subjectWriter = new StringWriter(System.Globalization.CultureInfo.InvariantCulture);
ToProperty.Format(subjectWriter, loggingEvent);
mailMessageTo = subjectWriter.ToString();
}
этот код работает в примере приложения, но когда я пытаюсь использовать его в нашем "Проекте", не работает по какой-то причине.
У меня есть 2 приложения в Log4net.config. EventLog работает должным образом, но CustomSmtpAppender не отправляет электронные письма. Любое решение этой проблемы.
1] <appender name ="EmailLogAppender1" type ="MY.Company.ProjectName.Appenders.CustomSmtpAppender,
TRS">
2] <appender name ="EventLogAppender" type="log4net.Appender.EventLogAppender" >