• 星空雅梦


    C#Log4net记录日志

    1、下载log4net地址:http://logging.apache.org/log4net/download_log4net.cgi

    下载log4net-2.0.8-bin-oldkey.zip到本地,根据自己的需求选择一个合适的log4net.dll版本即可。

    2、log4net.dll放在 inRelease或者 inDebug下。

    3、解决方案下的引用中去引用该dll。

    4、添加一个App.config,可网上查询添加的节点。这里添加一个我自己可以用的。

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
        </startup>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
      </configSections>
      <!--日志-->
      <log4net>
        <logger name="Logerror">
          <level value="ALL"/>
          <appender-ref ref="Log_error"/>
        </logger>
        <logger name="Loginfo">
          <level value="DEBUG"/>
          <appender-ref ref="Log_info"/>
        </logger>
        <!--<logger name="logconsole">
          <level value="INFO" />
          <appender-ref ref="ConsoleAppender" />
        </logger>-->
        <!--信息日志-->
        <appender name="Log_error" type="log4net.Appender.RollingFileAppender">
          <!--定义日志存放位置-->
          <param name="File" value="E:Logserror.log"/>
          <param name="DatePattern" value="yyyyMMdd"/>
          <param name="AppendToFile" value="true"/>
          <param name="MaxSizeRollBackups" value="100"/>
          <param name="MaximumFileSize" value="1MB"/>
          <param name="RollingStyle" value="Size"/>
          <param name="StaticLogFileName" value="true"/>
          <layout type="log4net.Layout.PatternLayout">
            <!--输出格式-->
            <param name="ConversionPattern" value="%-5level %date %file %type %method() %line %message %n"/>
          </layout>
        </appender>
        <appender name="Log_info" type="log4net.Appender.RollingFileAppender">
          <param name="File" value="E:Logsinfo.log"/>
          <param name="DatePattern" value="yyyyMMdd"/>
          <param name="AppendToFile" value="true"/>
          <param name="MaxSizeRollBackups" value="100"/>
          <param name="MaximumFileSize" value="1MB"/>
          <param name="RollingStyle" value="Size"/>
          <param name="StaticLogFileName" value="true"/>
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="%-5level %d [%c] %m%n"/>
          </layout>
          <filter type="log4net.Filter.LevelRangeFilter">
            <param name="LevelMin" value="INFO"/>
            <param name="LevelMax" value="ERROR"/>
          </filter>
        </appender>
      </log4net>
    </configuration>
    

    5、AssemblyInfo.cs中最后一句添加
    [assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "config", Watch = true)]
    否则的话不能写入日志。

    6、winform中可以单独建一个类用于存放log4net的实例化。

    当然了需要注意的是log4net.LogManager.GetLogger(“Logerror和Loginfo”)中的“MSgLogger”要与App.config中相对应。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace demo
    {
        class Loghelper
        {
            public static log4net.ILog logerror = log4net.LogManager.GetLogger("Logerror");
            public static log4net.ILog loginfo = log4net.LogManager.GetLogger("Loginfo");
        }
        
    }
    

    7、测试一下

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace demo
    {
        public partial class Form1 : Form
        {
            
            public Form1()
            {
                InitializeComponent();
                Loghelper.loginfo.Info("ssss");
                Loghelper.logerror.Info("Look look error log.");
    
            }
        }
    }
    

    8、大功告成

  • 相关阅读:
    Python之禅
    浅析css布局模型1
    原型与继承学习笔记4
    原型与继承学习笔记3
    原型与继承学习笔记1
    javascript-this,call,apply,bind简述3
    javascript-this,call,apply,bind简述2
    javascript-this,call,apply,bind简述1
    javascript数组浅谈3
    javascript数组浅谈2
  • 原文地址:https://www.cnblogs.com/LiZhongZhongY/p/10957438.html
Copyright © 2020-2023  润新知