我使用log4net记录内容。在我的Web应用程序中,Web.config文件包含以下部分:
<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="\\PathWhereThingsAreLogged\%property{HostName}-NameOfTheApplication" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<appendToFile value="true" />
<maximumFileSize value="10MB"/>
<maxSizeRollBackups value="5" />
<rollingStyle value="Size" />
<rollingMode value="Size" />
<datePattern value=".yyyy-MM-dd'.log'" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date (%file:%line) %-5level - %message%newline" />
</layout>
</appender>
日志出现在文件中,所以很酷,但遗憾的是文件的名称不正确。它的名字是&#34;(null)-NameOfTheApplication&#34;而不是使用文件声明中声明的%property {HostName}。
任何帮助将不胜感激,谢谢!
答案 0 :(得分:1)
实际上,必须事先声明属性!
在Web应用程序中,将它放在Global.asax.cs文件的Application_Start()方法中:
GlobalContext.Properties["HostName"] = Environment.MachineName;
在Windows服务或作业中,将它放在Main(string [] args)方法的Program.cs中。