Log4Net 使用

Log4j是Java下强大的日志记录类库,各语言都有相应实现版本。C的log4c,C++的log4cxx,QT的log4QT,C#下的log4Net。不过还是Log4j和Log4Net比较常用。

一. 下载

http://logging.apache.org/log4net/download_log4net.cgi 下载最新版本 log4net-1.2.15-bin-newkey.zip

二. 添加引用

解压$(log4net)/net/4.0/log4net.dll,拷贝至bin目录

右键添加 log4net.dll 的引用

三. 添加log4net配置文件

工程右键->添加新建项->C#->应用配置文件 Log4Net.config 

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>

  <log4net>
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <!--配置按日期生成文件,每天一个,命名为log_20151212.log,生成目录在bin/Debug/Log-->
      <file value="Log\\log_"/>
      <appendToFile value="true"/>
      <rollingStyle value="Date"/>
      <datePattern value="yyyyMMdd'.log'"/>
      <staticLogFileName value="false"/>
      <param name="MaxSizeRollBackups" value="100"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%d %-5level %message%newline" />
      </layout>
    </appender>
    <logger name="mylog">
      <level value="INFO"/>
      <appender-ref ref="RollingFileAppender"/>
    </logger>
  </log4net>
</configuration>

选中 Log4Net.config 右键属性->高级->复制到输出目录,选择“始终复制”。刚开始没选中该选项,一直没日志产生。

注:因为log4net框架会在相对于AppDomain.CurrentDomain.BaseDirectory (即bin/Debug/Log4Net.config)属性定义的目录路径下查找配置文件。

四. 加载配置文件

AssemblyInfo.cs 添加如下代码:

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

CofnigFile属性指定配置文件名称,Watch属性指定配置文件修改后,重新装载。

五. 测试

static void Main(string[] args)
{
	var log = LogManager.GetLogger("mylog");
	log.Info("system start");
	log.Info("hello world");
}

 

 

猜你喜欢

转载自tcspecial.iteye.com/blog/2268805