首页 > 解决方案 > Log4net - 无法写入

问题描述

我在程序中使用 log4net 配置时遇到问题。我在其他程序中使用了这个配置,它很棒!

我不明白他为什么不写。

这是我的配置

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <log4net>
    <root>
      <level value="ALL" />
      <appender-ref ref="FileRolling" />
    </root>
    <appender name="FileRolling" type="log4net.Appender.RollingFileAppender">
      <file value="D:\Historique\historique_CNC.csv" />
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="5" />
      <maximumFileSize value="2MB" />
      <staticLogFileName value="true" />
      <PreserveLogFileNameExtension value="true" />
      <LockModel type = "log4net.Appender.FileAppender + MinimalLock" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%message%newline" />
      </layout>
    </appender>
  </log4net>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
</configuration>

在我的程序集中,我写了这个:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config")]

当 My WindowsForm 被调用时,我创建了我的 Log :

public partial class MainVisu : Form
{
    public FocasCommHist CallPrg;
    public static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

    public MainVisu()
    {
        InitializeComponent();
        CallPrg = new FocasCommHist();
    }
}

在我的程序中,我像这样使用我的 Log4net:

    // Test LOG4net
    MainVisu.log.Info(DateTimeExe);

谢谢你的帮助!

标签: c#log4netlog4net-configuration

解决方案


推荐阅读