簡體   English   中英

log4net配置-追加程序中的GlobalContext.Property無法正常工作

[英]log4net configuration - GlobalContext.Property in appender not working

以與我以往相同的方式配置log4net。 我已經在Application_Start(ASP.NET Web Forms)上設置了一個名為svr的全局屬性,並設置了附加程序,但是它不起作用。

附加器如下:

    <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>

在我的Global.asax.cs中,

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

但是文件名是icomply_(null)_info.log,log4net跟蹤說明了這一點(還有很多其他事情)

    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窗體中配置它,但這或多或少是我一直做的事情。

有任何想法嗎?

我必須添加

log4net.Config.XmlConfigurator.Configure();

使這個工作后

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

線。

謝謝NK ;-)

暫無
暫無

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

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