• 在C#代码中应用Log4Net(二)典型的使用方式


    不管用什么框架,学什么东西,最初的想法还不是尽快地用上这个框架,所以我们在这个章节还是不打算介绍具体配置节的应用,而是直接给出一个经典的使用样例,让你尽快上手。即使你对Log4Net的配置不熟悉也完全没有关系。

    (下面的文章假定你已经看过了第一篇,当然在有的操作中,我还是会简单地重复第一篇,以便加深你的记忆)

    先说说这篇教程的思路,我们打算使用Log4Net,首先必须先引入Log4Net的库;然后我们要对Log4Net进行一些配置;最后,我们会在代码里面使用它。

    1、引入Log4Net.dll组件→见第一篇

    2、自定义Log4Net配置文件的引入

    与第一篇不同的是,我们将不再App.config或Web.config(应用程序配置文件)中配置Log4Net文件了,我们打算在App.config中配置少许的必要信息,然后将具体的配置信息在一个XML文件中配置Log4Net这样的话,不会让App.Config太过于臃肿,它的可移植性也会更好。

       2.1 我们将log4net.config文件引入到项目中,同时让它复制到输出目录。因为log4net框架会在相对于AppDomain.CurrentDomain.BaseDirectory 属性定义的目录路径下查找配置文件。框架在配置文件里要查找的唯一标识是<log4net>标签。(log4net.config可以在文章末尾下载)

    image

    跟文章(一)比起来,我们的App.config文件现在就清爽多了image

         2.2 在文章(一)中,我们没有指定具体使用什么文件,Log4Net自动帮我们选择使用app.config文件了,现在我们有了自己的配置文件,自然需要指定一下使用哪一个配置文件,不能再让Log4Net帮我们自动选择了。我们只需要在AssemblyInfo.cs文件中写一句话指定使用哪个配置文件即可。

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

    3.在代码中使用Log4Net

    我封装了一个类叫LogHelper,里面的两个logger类,分别对应在Log4Net.config中的两个Logger。

    复制代码
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    
    namespace 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);
                }
            }  
        }
    }
    复制代码

    像文章(一)一样,我们建立一个winform程序,添加一个按钮,在按钮中写入如下的点击事件。

    image

    4、运行效果

    日志文件在“程序的输出目录(就是Debug文件夹)LogLogInfo”

    image

    小提示

    在文章中的log4net.config文件可以在示例程序中找到。

    示例程序下载

    转自http://www.cnblogs.com/kissazi2/p/3392094.html

  • 相关阅读:
    Codeforces610b
    Codeforces597A
    Timus1014(贪心算法)
    一般贪心
    优先队列问题(此题来源哈尔滨理工大学VJ)
    POJ2551Dungeon Master
    LightOJ 1140: How Many Zeroes? (数位DP)
    HDU 2089:不要62(数位DP)
    HDU 4722:Good Numbers(数位DP)
    HDU 3709: Balanced Number (数位DP)
  • 原文地址:https://www.cnblogs.com/xuekai-to-sharp/p/3394725.html
Copyright © 2020-2023  润新知