Windows Form 程序之Log4Net

原文参考:http://www.cnblogs.com/dragon/archive/2005/03/24/124254.html

 

今天离离开公司还有一个多星期,为了自己做的那部分系统更加完善,用LOG4NET做了日志功能。


1.添加引用

添加log4net(下载:http://logging.apache.org/log4net/download.html)引用,将DLL或者源代码工程引用即可


2.修改或者增加app.config

项目默认有个增加一个app.config文件,如果没有需要增加.

当程序编译后,会在你的执行目录下生成一个<你的程序集名>.exe.config文件内容和本文件一样


3.编辑app.config文件

添加红色部分如下:

 

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <!--序列化对象参数-->
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net-net-1.0" />
  </configSections>
    
  <!--数据库连接串-->
  <connectionStrings>
    <add name="ConnStr" connectionString="server=130.251.9.132;database=RoomManage;uid=sa;pwd=sa123;" providerName="System.Data.SqlClient" />
  </connectionStrings>

  <!--系统初始化需要的参数-->
  <appSettings>
    <add key="Conn"    value=" 属性测试" />
    <add key="User"    value="username ,id " />
  </appSettings>

 

 <!--LOG4NET配置参数文件-->
  <log4net>
    <root>
      <level value="ALL" />
      <appender-ref ref="RollingFileAppender" />
    </root>

    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <!--日志文件名-->
      <file value="/log/roommanage.log"/>
      <!--是否在文件中追加-->
      <appendToFile value="true"/>
      <!--按照文件的大小进行变换日志文件-->
      <rollingStyle value="Size"/>
      <!--最大变换数量-->
      <maxSizeRollBackups value="5"/>
      <!--最大文件大小-->
      <maximumFileSize value="10MB"/>
      <!--日志文件名是否为静态-->
      <staticLogFileName value="true"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
      </layout>
    </appender>
  </log4net>

</configuration>

这里请注意<configuration> 和<configurations>标签不能少


4.编辑Assembly.cs文件

添加如下内容:
[assembly:log4net.Config.DOMConfigurator( ConfigFileExtension="config",Watch=true)]


5.在程序里添加如下代码
log4net.ILog log = log4net.LogManager.GetLogger("LoginLogger");
log.Debug("login succed!");

LoginLogger这里的可以区分不同功能的日志信息,名称可改!具体参数含义参考官方示例。

PS:

这是最简单的日志了,我实现的是5个日志(每个10M)文件轮流进行读写,写满继续循环下一个,都写满后再从第一个开始写日志,类似ORACLE中的非归档模式下的REDO日志文件的写入方式。

你可能感兴趣的:(Windows Form 程序之Log4Net)