У меня есть консольное приложение в Visual studio. У меня есть файл log4net с smtp appender в моем файле app.config. Я установил переменную среды в свой код (т. Е. Мой адрес электронной почты) и попытался ссылаться на эту переменную среды для отправки электронной почты. Однако log4net, похоже, не читает это значение при запуске приложения.Переменная окружения не читается?
Мой log4net:
<?xml version="1.0" encoding="utf-8" ?>
<Configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<appender name="smtp" type="log4net.Appender.SmtpAppender">
<param name="to" value="${EmailAddress}" />
<param name="from" value="[email protected]" />
<param name="subject" value="testing app" />
<param name="smtpHost" value="<smtp host name>" />
<param name="bufferSize" value="1" />
<param name="lossy" value="false" />
<param name="Threshold" value="ERROR"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d{ISO8601} [%t] [%-5p] %c - %m%n" />
</layout>
</appender>
<root>
<priority value="ALL" />
<appender-ref ref="smtp" />
</root>
</log4net>
</Configuration>
В моей консольного приложения, я установил переменную окружения что-то вроде этого:
Environment.SetEnvironmentVariable("EmailAddress", "[email protected]", EnvironmentVariableTarget.Process);
Кто-нибудь знает, как я могу заставить его работать? Спасибо.
Запустите приложение с помощью log4net [внутренняя отладка] (http://log4net.sourceforge.net/release/1.2.0.30316/doc/manual/faq.html#internalDebug) и разместите соответствующие разделы, где создается log4net это приложение. Добавьте 'debug =" true "' в тег ''. –
Создает ли log4net какой-либо вывод в этом приложении? –
Попробуйте [синтаксис сильных параметров] (http://logging.apache.org/log4net/release/manual/configuration.html#Compact Parameter Syntax). Он позволяет писать такие параметры, как ' ' –