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