log4net,封装成库调用配置文件的问题

问题1:封装log4net成一个写文本库LogHelper,然后winform调用时候执行写入没有写入。

解决方法1:将LogHelper的配置文件拷到winform的根目录即可。

解决方法2:将配置文件的内容写到winform里面,然后LogHelper类库的AssemblyInfo内添加

[assembly: log4net.Config.XmlConfigurator(Watch = true)],意思就是说让这个库去调用调用者的config配置文件

(//[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "config", Watch = true)]这个不行,可能是ConfigFileExtension = "config"这句名称不对应)

解决方法3:软件打开时候加载制定目录加载配置文件(“LogHelper.dll”是配置文件XML)

这时候也必须需要AssemblyInfo内添加[assembly: log4net.Config.XmlConfigurator(Watch = true)]

        private void Form1_Load(object sender, EventArgs e)
        {
            string Path_X = @"C:\Users\Administrator\Desktop\WindowsFormsApplication17\LogHelper\bin\Debug\LogHelper.dll";
            System.IO.FileInfo file = new System.IO.FileInfo(Path_X);
            //LogHelper.LogHelper LogHelper_ = new LogHelper.LogHelper();
            LogHelper.LogHelper.SetConfig(file);

        }

附件:配置文件代码

<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>

  <log4net>
    <logger name="logerror">
      <level value="ERROR" />
      <appender-ref ref="ErrorAppender" />
    </logger>

    <logger name="loginfo">
      <level value="INFO" />
      <appender-ref ref="InfoAppender" />
    </logger>

    <logger name="logdebug">
      <level value="DEBUG" />
      <appender-ref ref="DebugAppender" />
    </logger>

    <logger name="logwarn">
      <level value="WARN" />
      <appender-ref ref="WarnAppender" />
    </logger>

    <logger name="logfatal">
      <level value="FATAL" />
      <appender-ref ref="FatalAppender" />
    </logger>

    <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Log\\LogError\\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxSizeRollBackups" value="100" />
      <param name="MaxFileSize" value="10240" />
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
      <param name="RollingStyle" value="Date" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%n异常时间:%d %n异常级别:%-5p%n异常内容:%m%n" />
      </layout>
      <!--&lt; &gt; = <> %n = 回车-->
    </appender>


    <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Log\\LogInfo\\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxFileSize" value="10240" />
      <param name="MaxSizeRollBackups" value="100" />
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
      <param name="RollingStyle" value="Date" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="日志时间:%d %n日志级别:%-5p  %n日志内容:%m%n%n" />
      </layout>
    </appender>


    <appender name="DebugAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Log\\LogDebug\\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxFileSize" value="10240" />
      <param name="MaxSizeRollBackups" value="100" />
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
      <param name="RollingStyle" value="Date" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="日志时间:%d %n日志级别:%-5p  %n日志内容:%m%n%n" />
      </layout>
    </appender>

    <appender name="WarnAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Log\\LogWarn\\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxFileSize" value="10240" />
      <param name="MaxSizeRollBackups" value="100" />
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
      <param name="RollingStyle" value="Date" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="日志时间:%d %n日志级别:%-5p  %n日志内容:%m%n%n" />
      </layout>
    </appender>

    <appender name="FatalAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Log\\LogFatal\\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxFileSize" value="10240" />
      <param name="MaxSizeRollBackups" value="100" />
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
      <param name="RollingStyle" value="Date" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="日志时间:%d %n日志级别:%-5p  %n日志内容:%m%n%n" />
      </layout>
    </appender>
  </log4net>

winform调用程序:

   try
            {
                LogHelper.LogHelper.WriteLog("正常日志记录!");
                LogHelper.LogHelper.WriteDebug("调试日志记录!");
                int a = Convert.ToInt32("ZZZ");
            }
            catch (Exception ex)
            { LogHelper.LogHelper.WriteLog("错误日志记录!", ex); }

发布了42 篇原创文章 · 获赞 6 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/u014090257/article/details/90400772
今日推荐