【问题标题】:Log4net is not logging any data into the file while debuggingLog4net 在调试时没有将任何数据记录到文件中
【发布时间】:2018-08-24 16:15:55
【问题描述】:

我在我的 C# 应用程序中使用 log4net 来记录应用程序运行时的步骤。在调试时,我没有看到任何内容记录到文件中。下面是配置文件。

<log4net>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date{ABSOLUTE} [%thread] %level - %message%newline%exception"/>
  </layout>
</appender>
<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
  <file value="C:\Users\dv\Desktop\Logs\API.log"/>
  <appendToFile value="true"/>
  <rollingStyle value="Size"/>
  <maxSizeRollBackups value="5"/>
  <maximumFileSize value="100KB"/>
  <staticLogFileName value="true"/>
  <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date{ISO8601} [%thread] %level - %message%newline%exception"/>
  </layout>
</appender>
<root>
  <level value="INFO"/>
  <appender-ref ref="ConsoleAppender"/>
  <appender-ref ref="FileAppender"/>
  </root>
 </log4net>

以下是我的日志记录方式。

if (jrGet == null)  
{
    jrForCore = mergeJrForUpdate(fromJaxStrain, new JrNumberGet());
    path = ConfigurationManager.AppSettings["PostResourceString"];
    var url = await CreateProductAsync(path, jrForCore);
    logger.Info("Created : " + fromJaxStrain.Barcode);
}

【问题讨论】:

  • 什么是jrGet?是否为空?
  • 当您不调试或使用发布版本时,应用程序是否会记录?
  • 由于日志存储在用户目录中 - 如果不使用提升的权限运行,它是否可能无法写入该位置?
  • 你是如何创建记录器的?

标签: c# log4net log4net-configuration log4net-appender


【解决方案1】:

我猜你不见了:

XmlConfigurator.Configure();

启动时必须在某个地方告诉它读取配置文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-17
    • 2018-09-03
    • 2011-04-07
    • 2016-03-11
    • 2012-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多