log4net注意事项

时间:2022-03-28 21:30:03
  1. log4net的配置信息可以直接配置在系统的配置文件中,也可以单独写一个配置文件,文件名随便起,如log4net.config,单独的文件属性“复制到输出目录”应该是true。因为log4net框架会在相对于AppDomain.CurrentDomain.BaseDirectory 属性定义的目录路径下查找配置文件。框架在配置文件里要查找的唯一标识是<log4net>标签。
  2. 让log4net的配置和系统关联,也就是让系统读取到log4net的配置信息的方法有两种:
    第一种:在程序集文件AssemblyInfo.cs文件内添加:[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]。这种方式适用于于web,windows,控制台,服务。注意,log4net所在项目和调用日志的项目不是一个项目的话,则上面的信息应该加在log4net本身项目的程序集中,即调用log4net.LogManager.GetLogger方法所在的项目,而非调用处。配置信息则应该在调用的项目中配置,无论配置信息是集成的还是单独配置的。若就是一个项目的话,则不必多考虑。

    第二种:对于web项目,还可以在Global.asax的Application_Start中添加读取配置信息的方法  log4net.Config.XmlConfigurator.Configure(new FileInfo(Server.MapPath("log4net.config"))); 这种方式不区分log4net所在项目和调用日志的项目是否是一个项目,也就是说都适用。

  3. 如果log4net的配置信息可以直接配置在系统的配置文件中,则:
    [assembly: log4net.Config.XmlConfigurator(Watch = true)]
    log4net.Config.XmlConfigurator.Configure();