欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Log4net.config配置启用常用方法汇总

程序员文章站 2022-03-07 13:21:30
在上文中,进行了简单的log4配置搭建,也在实操中启用了log4net的配置。这里做了一下总结。方式一:  在运行时编程配置,代码如下:class program { private read...

在上文中,进行了简单的log4配置搭建,也在实操中启用了log4net的配置。这里做了一下总结。

方式一:

  在运行时编程配置,代码如下:

class program
  {
    private readonly static ilog log = initilog();
    //private readonly static ilog log = logmanager.getlogger(methodbase.getcurrentmethod().declaringtype);
    public static void main(string[] args)
    {
      var gp=log4net.logmanager.getrepository().configured;
      log.debug("测试");
      console.readkey();
    }

    public static ilog initilog() 
    {
      var file = appdomain.currentdomain.basedirectory + @"\config\log4net.config";
      fileinfo info = new fileinfo(file);
      xmlconfigurator.configure(info);
      return logmanager.getlogger(methodbase.getcurrentmethod().declaringtype);
    }
  }

在方法initlog中,通过获取配置文件的路径(配置文件路径=应用程序基本目录+程序集文件名+扩展名),使用fileinfo,configure读取配置文件内容,启动log4net配置。

方式二:

  assembly-level 配置属性,看代码:

[assembly: log4net.config.xmlconfigurator(configfile = "config/log4net.config", watch =true)]namespace springnetioc
{
  class program
  {
    //private readonly static ilog log = initilog();
    private readonly static ilog log = logmanager.getlogger(methodbase.getcurrentmethod().declaringtype);
    public static void main(string[] args)
    {
      var gp=log4net.logmanager.getrepository().configured;
      log.debug("测试");
      console.readkey();
    }

  }
}

[assembly: log4net.config.xmlconfigurator(configfile = "config/log4net.config", watch =true)]也可以在properties/assemblyinfo.cs== 文件里添加,让程序找到log4net.config文件。

需要说明一下xmlconfigurator可配置的三个属性。

  a。configfile 配置文件名和路径,包括扩展名,文件相对于程序的根目录。注意,此属性不可和configfileextension 属性同时使用。

  b。configfileextension;配置文件的后缀名,缺省默认时'config',此属性不可和configfile属性公用。

关于configfileextension属性,特此记录一下,留待后面有了更深入的了解,再做回顾。

  c。watch(bool属性),如果为true,log4net框架在运行时,监视文件。如果配置文件被修改,则重新加载配置文件。

方式三:

  app.config中的appsettings配置。看代码:

<configuration>
  <appsettings>
    <add key="log4net.config" value="config/log4net.config"/>
    <add key="log4net.config.watch" value="true"/>
  </appsettings>
  <startup> 
    <supportedruntime version="v4.0" sku=".netframework,version=v4.5" />
  </startup>
</configuration>

key为lognet.config会覆盖assembly xmlconfigurator 配置 中 configfile 指定的值,key为log4net.config.watch会覆盖assembly xmlconfigurator配置中watch的指定值。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。