1
我在Visual Studio中有一個控制檯應用程序。我有我的app.config文件中的smtp appender log4net的東西。我在我的代碼中設置了環境變量(即我的電子郵件地址)並嘗試引用此環境變量來發送電子郵件。然而,當應用程序運行時,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所建立的相關部分這個appender。將'debug =「true」'添加到''標籤。 –
2011-06-15 05:26:41
log4net在此應用程序中是否產生任何輸出? – 2011-06-15 05:29:22
也請嘗試[compact parameter syntax](http://logging.apache.org/log4net/release/manual/configuration.html#Compact Parameter Syntax)。它可以讓你寫''從value =「[email protected]」/>'的參數 – 2011-06-15 21:20:41