• Log4net之开始使用


    Log4net配置完成之后,就可以使用了。

    (一)关联属性

    log4net默认关联的是应用程序的配置文件(AppName.exe.config),可以使用程序集自定义属性来进行设置。下面来介绍一下这个自定义属性:log4net.Config.XmlConifguratorAttribute

     

    XmlConfiguratorAttribute3个属性:

     

    ConfigFile 配置文件的名字,文件路径相对于应用程序目录(AppDomain.CurrentDomain.BaseDirectory)ConfigFile属性不能和ConfigFileExtension属性一起使用。自己定义了一个log4net的配置文件时,可以通过这个属性来指定配置文件。

    ConfigFileExtension 配置文件的扩展名,文件路径相对于应用程序的目录。ConfigFileExtension属性不能和ConfigFile属性一起使用。当应用程序会编译成不同扩展名称的程序集时,可以使用这个属性。如Sample程序将编译成Sample.exe,则ConfigFileExtension设置为“config”,那么所使用的配置文件名称为:Sample.exe.config。注意不能和ConfigFile属性同时使用。

    Watch 如果将Watch属性设置为true,就会监视配置文件。当配置文件发生变化的时候,就会重新加载。在运行期间是否监测配置文件。当值为true时,FileSystemWatcher将用来监视配置文件的内容改变、重命名和删除通知。

    如果ConfigFileConfigFileExtension都没有设置,则使用应用程序的配置文件(AppName.exe.config)

     

    举例:

     [assembly: log4net.Config.XmlConfigurator(Watch=true,ConfigFile="Sql2000/self.xml")]

    使用自定义的配置文件,注意文件的路径,如果配置文件放在主目录的话,则要:

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

     

    (二)获取日志对象

    ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

    LogManager还有其他多个方法

    (三)使用

         ILog log = log4net.LogManager.GetLogger(

              MethodBase.GetCurrentMethod().DeclaringType);

                

                log.Error("error", new Exception("发生了一个异常"));

                Console.WriteLine("日志记录完毕。");

    (四)结果

    1)控制台

    System.Exception: 发生了一个异常

    日志记录完毕。

    2)日志文件

     

    [Header]

    2009-12-10 11:15:57,593 [TestRunnerThread] ERROR Log4netTest.UTest [(null)]  - error

    System.Exception: 发生了一个异常

    [Footer]

     

     

    更多内容请参考:http://blog.csdn.net/lyjcn/archive/2009/08/11/4432833.aspx(非常感谢作者。)

     可以到下边转转,研究研究

     http://ondotnet.com/pub/a/dotnet/2003/06/16/log4net.html?page=1

  • 相关阅读:
    Translation Rule 和命中法则
    Cisco Extension Mobility配置步骤详解
    tclsh命令, cisco 快速测试工具
    136、多继承的优缺点,作为一个开发者怎么看待多继承
    135、 虚函数的内存结构,那菱形继承的虚函数内存结构呢
    134、隐式转换,如何消除隐式转换?
    133、说一下你理解的 ifdef endif代表着什么?
    132、 静态成员与普通成员的区别是什么?
    131、全局变量和static变量的区别
    130、定义和声明的区别
  • 原文地址:https://www.cnblogs.com/jams742003/p/1620943.html
Copyright © 2020-2023  润新知