使用带有XML配置的log4net时没有日志文件

时间:2017-09-11 16:22:35

标签: c# log4net

在下面的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");

}

1 个答案:

答案 0 :(得分:1)

您是否指示Log4Net在app.config文件中查找其配置?您可以使用以下程序集级属性来执行此操作:

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

取自here

的示例