簡體   English   中英

環境變量無法讀取?

[英]Environment variable does not get read?

我在Visual Studio中有一個控制台應用程序。 我的app.config文件中有帶有smtp附加程序的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="myapp@gmail.com" />
            <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", "testApp@gmail.com", EnvironmentVariableTarget.Process);

有誰知道我該怎么做? 謝謝。

我看到了log4net的舊發行說明 ,其中說您使用帶有金錢符號和方括號的環境變量。 但是我以前從未使用過這種樣式。

${AppData}

我已經使用百分比樣式來訪問特殊文件夾,並且它可以工作。 使用您的自定義環境變量嘗試這種操作。

%AppData%

但是,我確實要問你為什么要在環境變量中放入“收件人:”電子郵件地址? 您不能使用一些更現代的東西,例如內置的log4net Contexts嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM