【问题标题】:log4net generated file has a wrong (null) namelog4net 生成的文件的名称错误(空)
【发布时间】:2015-08-13 14:04:27
【问题描述】:

我正在使用 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>

日志出现在文件中,这很酷,但遗憾的是文件名不正确。它的名称是“(null)-NameOfTheApplication”,而不是使用文件声明中声明的 %property{HostName}。

任何帮助将不胜感激,谢谢!

【问题讨论】:

    标签: log4net log4net-configuration


    【解决方案1】:

    实际上,属性必须事先声明!

    在 Web 应用程序中,将其放入 Global.asax.cs 文件的 Application_Start() 方法中:

    GlobalContext.Properties["HostName"] = Environment.MachineName;
    

    在windows服务或job中,放在Program.cs的Main(string[] args)方法中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-06
      • 1970-01-01
      • 2011-01-07
      相关资源
      最近更新 更多