log4net 配置 - appender 中的 GlobalContext.Property 不起作用



以与我一贯相同的方式配置 log4net。我已经在Application_Start(ASP.NET Web 窗体)上设置了一个名为 svr 的全局属性,并设置了追加器,但它不起作用。

追加器如下:

    <appender name="RollingFileAppender_Inf" type="log4net.Appender.RollingFileAppender">
  <file type="log4net.Util.PatternString" value="C:Logsicomply_%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:Logsicomply_] 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:Logsicomply_(null)_info.log]

看不出我做错了什么 - 这或多或少是我一直在做的事情,尽管这可能是我第一次在 Web 窗体 ASP.NET 配置它。

有什么想法吗?

我必须添加

log4net.Config.XmlConfigurator.Configure();

要让它在

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

线。

谢谢NK ;-)

相关内容

  • 没有找到相关文章

最新更新