【问题标题】:No log file when using log4net with XML configuration使用带有 XML 配置的 log4net 时没有日志文件
【发布时间】:2017-09-12 03:39:12
【问题描述】:

在下面的 app.config 中使用 log4net 和我的 XML 配置时,我在记录到文件时遇到问题。日志文件没有出现在文件系统上,所以可能有问题,但我不知道它可能是什么。

代码和配置如下所示。

App.config

    </configSections>

  <log4net>
    <appender name="Console" type="log4net.Appender.ConsoleAppender">
      <layout type="log4net.Layout.PatternLayout">
        <!-- Pattern to output the caller's file name and line number -->
        <conversionPattern value="%5level [%thread] (%file:%line) - %message%newline" />
      </layout>
    </appender>

    <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
      <file value="example.log" />
      <appendToFile value="true" />
      <maximumFileSize value="100KB" />
      <maxSizeRollBackups value="2" />

      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%level %thread %logger - %message%newline" />
      </layout>
    </appender>

    <root>
      <level value="ALL" />
      <appender-ref ref="Console" />
      <appender-ref ref="RollingFile" />
      <appender-ref ref="LogFileAppender" />
    </root>
  </log4net>


  <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
    </startup>
    <system.serviceModel>
        <bindings />
        <client />
    </system.serviceModel>
    <applicationSettings>
        <NetSuiteClient.Properties.Settings>
            <setting name="NetSuiteClient_com_netsuite_webservices_NetSuiteService"
                serializeAs="String">
                <value>https://webservices.netsuite.com/services/NetSuitePort_2016_1</value>
            </setting>
        </NetSuiteClient.Properties.Settings>
    </applicationSettings>
</configuration>

声明:

private static readonly ILog _Log = LogManager.GetLogger(typeof(Form));

调用:

private void Form1_Load(object sender, EventArgs e)
{
    _Log.Info("Info");
    _Log.Debug("Debug");
    _Log.Error("Error");

}

【问题讨论】:

    标签: c# log4net


    【解决方案1】:

    您是否指示 Log4Net 在 app.config 文件中查找其配置?您可以使用以下程序集级属性来做到这一点:

    [assembly: log4net.Config.XmlConfigurator(Watch=true)]

    示例取自here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 2010-11-22
      • 1970-01-01
      • 2011-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多