• [No000084]C# 使用Log4Net(1)-快速建立一个demo


    1.下载Log4Net: http://logging.apache.org/log4net/download_log4net.cgi

    2.新建一个WinForm程序,取名Log4NetDemo

    3.选择对应的dll文件,并解压log4net.dll,比如我的目标框架是4.5.2,所以需要dll文件路径: log4net-1.2.15-bin-newkey.ziplog4net-1.2.15in et4.5 elease

    4.添加log4net.dll引用,右键引用->添加引用

    5.打开解决方案资源管理器下的app.config文件

    修改其内容为

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      
      <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
      </startup>
    
    
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
      </configSections>
      
      <log4net>
        <!--定义输出到文件中-->
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
          <!--定义文件存放位置-->
          <file value="log\"/>
          <appendToFile value="true"/>
          <rollingStyle value="Date"/>
          <datePattern value="yyyy\yyyyMM\yyyyMMdd'.log'"/>
          <staticLogFileName value="false"/>
          <param name="MaxSizeRollBackups" value="100"/>
          
          <layout type="log4net.Layout.PatternLayout">
            <!--每条日志末尾的文字说明-->
            <!--输出格式-->
            <!--样例:2016-04-26 13:42:32,111 [10] INFO  Log4NetDemo.MainClass [(null)] - info-->
            <conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别:  %-5level %n出错类:%logger property: [%property{NDC}] - %n错误描述:%message%newline %n"/>
          </layout>
          
        </appender>
        
        <root>
          <level value="ERROR"/>
          <!--文件形式记录日志-->
          <appender-ref ref="RollingLogFileAppender"/>
        </root>
        
      </log4net>
    </configuration>

    6.新建一个LogHelper(可以用其他名字)类,内容如下:

    using System;
    
    [assembly: log4net.Config.XmlConfigurator(Watch = true)]
    namespace Log4NetDemo
    {
        public class Log4NetHelper
        {
            /// <summary>
            /// 输出日志到Log4Net 
            /// </summary>
            /// <param name="t">
            /// </param>
            /// <param name="ex">
            /// </param>
            public static void WriteLog(Type t, Exception ex)
            {
                log4net.ILog log = log4net.LogManager.GetLogger(t);
                log.Error("Error", ex);
            }
    
            /// <summary>
            /// 输出日志到Log4Net 
            /// </summary>
            /// <param name="t">
            /// </param>
            /// <param name="msg">
            /// </param>
            public static void WriteLog(Type t, string msg)
            {
                log4net.ILog log = log4net.LogManager.GetLogger(t);
                log.Error(msg);
            }
        }
    }

     

    7.在窗体上放置一个按钮,按钮的单击事件如下:

            private void btnTest_Click(object sender, EventArgs e)
            {
                //第一种记录用法
                //(1)Log4NetDemo是类名称
                //(2)第二个参数是字符串信息
                Log4NetHelper.WriteLog(typeof(Log4NetDemo), "测试Log4Net日志是否写入");
    
    
                //第二种记录用法
                //(1)Log4NetDemo是类名称
                //(2)第二个参数是需要捕捉的异常块
                //try { 
                //}catch(Exception ex){
                //LogHelper.WriteLog(typeof(Log4NetDemo), ex);
                //}
            }

    8.运行程序并点击按钮,看到程序目录下生成log文件夹

    打开最里面的txt文件,即可看到记录的日志:

    注:文件夹的命名是根据你在app.config里面设置的file节点自动生成的,你可以根据自己的需要自己设置存放的路径和格式等。

  • 相关阅读:
    转贴ARM NEON 优化的例子
    GP(General-purpose Processor)与DSP的存储器结构区别
    arm中的饱和指令
    MIPS,MCPS, MHz for voice codec
    免费提供万方论文
    ARM CORTEX Ax NEON 中的加法指令
    android C编程技巧 及 C/C++开发测试(转)
    SQL Server 存储过程的经典分页 GO
    详细设计说明书大纲 GO
    正则表达式介绍 GO
  • 原文地址:https://www.cnblogs.com/Chary/p/No000084.html
Copyright © 2020-2023  润新知