Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Log4net-CAN';不写_C#_Log4net_Log4net Configuration - Fatal编程技术网

C# Log4net-CAN';不写

C# Log4net-CAN';不写,c#,log4net,log4net-configuration,C#,Log4net,Log4net Configuration,我在程序中使用log4net配置时遇到问题。我在另一个程序中使用了这个配置,非常棒 我不明白他为什么不写信 那是我的配置 <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, 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>
调用我的WindowsForm时,我创建日志:

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);

谢谢你的帮助

日志覆盖了log4net本身的故障排除。作为初始猜测,放弃
assembly
属性,显式调用
XmlConfigurator。改为在
Main
中配置
(而不是表单的构造函数——实际的
Main
)。使用属性进行初始化是个坏主意;它们使得初始化的时刻不确定,并且无论出于何种原因,如果它们没有被读取,那么故障排除基本上是不可能的。这很好!非常感谢。
    // Test LOG4net
    MainVisu.log.Info(DateTimeExe);