2017-11-03 6 views
0

私はいつもと同じようにlog4netを設定しています。私はApplication_Start(ASP.NET Webフォーム)でsvrというグローバルプロパティを設定し、アペンダを設定しましたが、動作していません。log4netの設定 - アペンダー内のGlobalContext.Propertyが動作しない

次のようにアペンダがある:私は

private void Application_Start(object sender, EventArgs e) 
{ 
    GlobalContext.Properties["svr"] = MyEnvironment.Server; 
} 

を持って

私のGlobal.asax.csで
<appender name="RollingFileAppender_Inf" type="log4net.Appender.RollingFileAppender"> 
    <file type="log4net.Util.PatternString" value="C:\Logs\icomply_%property{svr}_info.log" /> 
    <appendToFile value="true" /> 
    <rollingStyle value="Size" /> 
    <maxSizeRollBackups value="-1" /> 
    <maximumFileSize value="50GB" /> 
    <layout type="log4net.Layout.PatternLayout"> 
    <param name="ConversionPattern" value="%date [%thread] %-5p %message%n" /> 
    </layout> 
    <threshold value="INFO"/> 
</appender> 

が、ファイル名は(ヌル)_info.logとlog4netのトレースがこれを言うicomply_です(他の多くのものの中で)

log4net: Loading Appender [RollingFileAppender_Inf] type: [log4net.Appender.RollingFileAppender] 
    log4net: Parameter [file] specified subtype [log4net.Util.PatternString] 
    log4net: Converter [literal] Option [C:\Logs\icomply_] Format [min=-1,max=2147483647,leftAlign=False] 
    log4net: Converter [property] Option [svr] Format [min=-1,max=2147483647,leftAlign=False] 
    log4net: Converter [literal] Option [_info.log] Format [min=-1,max=2147483647,leftAlign=False] 
    log4net: Performing additional conversion of value from [PatternString] to [String] 
    log4net: Setting Property [File] to String value [C:\Logs\icomply_(null)_info.log] 

私は間違ったことを見ることはできません - これは多かれ少なかれ私はいつもやっていますが、これはASP.NET Webフォームで初めて設定したものです。

アイデア?

答えて

0

私は

GlobalContext.Properties["svr"] = MyEnvironment.Server; 

行の後に、この作業を取得するために

log4net.Config.XmlConfigurator.Configure(); 

を追加する必要がありました。

ありがとうNK ;-)

関連する問題