zoukankan      html  css  js  c++  java
  • 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群

    一群用代码改变世界的

  • 相关阅读:
    flink 读取kafka 数据,partition分配
    Flink 报错 "Could not find a suitable table factory for 'org.apache.flink.table.factories.StreamTableSourceFactory' in the classpath"
    flume接收http请求,并将数据写到kafka
    【翻译】Flume 1.8.0 User Guide(用户指南) Processors
    【翻译】Flume 1.8.0 User Guide(用户指南) Channel
    【翻译】Flume 1.8.0 User Guide(用户指南) Sink
    【翻译】Flume 1.8.0 User Guide(用户指南) source
    【翻译】Flume 1.8.0 User Guide(用户指南)
    Apache Flink 简单安装
    Java之使用IDE
  • 原文地址:https://www.cnblogs.com/ydcnblog/p/9263557.html
Copyright © 2011-2022 走看看