温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

开源日志记录组件Log4Net怎么用

发布时间:2021-11-30 16:33:53 来源:亿速云 阅读:150 作者:小新 栏目:编程语言

这篇文章主要介绍了开源日志记录组件Log4Net怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。

使用步骤
  1. 在项目中添加Nuget程序包,搜索并安装Log4Net组件。

  2. 在项目中添加一个配置文件,配置log4net的节点内容如下。建议不要使用VS自动创建的App.config文件,因为它会覆盖编译后生成的app.exe.config文件,但该文件的内容可能会有其它的定义,为避免互相干扰,另建一个单独的配置文件,如app.exe.log4net:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <log4net>
        <logger name="logerror">
          <level value="ERROR"/>
          <appender-ref ref="ErrorAppender"/>
        </logger>
        <logger name="loginfo">
          <level value="INFO"/>
          <appender-ref ref="InfoAppender"/>
        </logger>
        <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
          <param name="File" value="Log\\LogError\\"/>
          <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="%date : %m%n"/>
          </layout>
        </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="%date : %m%n"/>
          </layout>
        </appender>
      </log4net>
    </configuration>
  3. 在项目的 AssemblyInfo.cs 文件中注册配置文件:

    //为项目注册Log4Net.config配置文件
    [assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "log4net", Watch = true)]
  4. 添加日志类

    /// <summary>
    /// log4net访问类
    /// </summary>
    public class LogHelper
    {
        private LogHelper()
        {
        }
        public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");
        public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");
        public static void SetConfig()
        {
            log4net.Config.XmlConfigurator.Configure();
        }
        public static void SetConfig(FileInfo configFile)
        {
            log4net.Config.XmlConfigurator.Configure(configFile);
        }
        public static void WriteLog(string info)
        {
            if (loginfo.IsInfoEnabled)
            {
                loginfo.Info(info);
            }
        }
        public static void WriteLog(string info, Exception se)
        {
            if (logerror.IsErrorEnabled)
            {
                logerror.Error(info, se);
            }
        }
    }
  5. 使用日志记录

    try
    {
        // 记录正常日志
        LogHelper.WriteLog("操作成功!")
    }
    catch (Exception ex)
    {
        // 记录异常日志
        LogHelper.WriteLog("操作失败!", ex);
    }

    从LogHelper类的定义中可以看到,有两个重载的WriteLog方法,只包含单个消息文本参数的WriteLog方法用于记录正常日志,包含两个参数的WriteLog方法用于记录异常日志,需要传入一个Exception实例。

    程序会在本地自动创建一个Log文件夹以及LogError和LogInfo两个子文件夹,单个参数的WriteLog方法记录的正常日志自动保存在LogInfo中,两个参数的WriteLog方法记录的异常日志自动保存在LogError中。

    日记文本的记录格式可自行通过修改log4net的配置文件来指定,这里定义的是一个简单的输出格式:

    “%date : %m%n”

    表示日志记录的日期时间 : 消息内容。

感谢你能够认真阅读完这篇文章,希望小编分享的“开源日志记录组件Log4Net怎么用”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI