• C# Log4.Net日志组件的应用系列(二)


    引言

    Log4Net应该可以说是.NET中最流行的开源日志组件了。在各种项目框架中可以说是必不可少的组成部分。个人认为Log4Net有下面几个优点:

    1. 使用灵活,它可以将日志分不同的等级,以不同的格式,输出到不同的媒介;

    2. 配置简单

    下面我将用两个系列的教程讲解Log4.Net日志组件在.Net项目中的实际应用,希望能对爱好框架设计的朋友有所帮助。

    正文

    我们接着系列(一)开始讲

    上一篇我们是直接把Log4net的配置放在App.config中,现在我们把Log4net的配置单独出来,新建一个log4net.config文件,

    这样做的好处是:使App.config更加清晰明了;方便项目迁移。

    log4net.config配置文件的内容如下:

    <log4net>
        <!-- 错误日志类-->
        <logger name="logerror">
          <level value="ALL" />
          <appender-ref ref="ErrorAppender" />
        </logger>
        <!-- 信息日志类 -->
        <logger name="loginfo">
          <level value="ALL" />
          <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="MaxSizeRollBackups" value="100" />
          <param name="MaxFileSize" value="10240" />
          <param name="StaticLogFileName" value="false" />
          <param name="DatePattern" value="yyyyMMdd".htm"" />
          <param name="RollingStyle" value="Date" />
          <!--布局-->
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="<HR COLOR=red>%n异常时间:%d [%t] <BR>%n异常级别:%-5p <BR>%n异 常 类:%c [%x] <BR>%n%m <BR>%n <HR Size=1>"  />
          </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".htm"" />
          <param name="RollingStyle" value="Date" />
          <!-- 信息日志布局-->
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="<HR COLOR=blue>%n日志时间:%d [%t] <BR>%n日志级别:%-5p <BR>%n日 志 类:%c [%x] <BR>%n%m <BR>%n <HR Size=1>"  />
          </layout>
        </appender>
      </log4net>
    

     修改AssemblyInfo.cs文件

    [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]

    接下来封装一个LogHelper类,代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Log4Net.common
    {
        public class LogHelper
        {
            public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");
    
            public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");
    
            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);
                }
            }
        }
    }
    LogHelper类

    调用LogHelper,写入不同类型的日志

    运行结果

    PS:欢迎扫描下方二维码或点击链接,加入QQ群

    一群用代码改变世界的

  • 相关阅读:
    牛客网Java刷题知识点之四种不同的方式创建线程
    [转]KendoUI系列:Grid
    [转]首次新型智慧城市评价工作将侧重应用效果和民众感受
    [转][MVC] 剖析 NopCommerce 的 Theme 机制
    [转]Using Entity Framework (EF) Code-First Migrations in nopCommerce for Fast Customizations
    [转]在NopCommerce中新增一个Domain Model的步骤
    [转]simple sample to create and use widget for nopcommerce
    [转]每天工作4小时的程序员
    [转]中华人民共和国网络安全法
    [转]在ASP.NET MVC5中实现具有服务器端过滤、排序和分页的GridView
  • 原文地址:https://www.cnblogs.com/ydcnblog/p/9263557.html
Copyright © 2020-2023  润新知