以与我一贯相同的方式配置 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 ;-)