现在的位置: 首页 > 综合 > 正文

log4net写入到SQL server的基本配置(downmoon)

2013年10月08日 ⁄ 综合 ⁄ 共 5351字 ⁄ 字号 评论关闭

Log4net是一个开源的错误日志记录项目,易用性强,源自log4j,品质值得信赖。

下面汇报一下我的安装部署log4net到MS sql server的经验。

一、首先是下载log4net最新版

地址:http://logging.apache.org/log4net/

直接引用dll也行,我是把下载的源码在Vs2005下编译成log4net.dll

 二、在你的web主项目(比如MainWeb.csproj)添加对log4net.dll的引用,并在相应的Globall.cs文件中的Application_Start
事件中写入

 

  1. protected
     
    void
     Application_Start(Object sender, EventArgs e) 
  2.         {
    //
  3.             log4net.Config.XmlConfigurator.Configure(
    new
     System.IO.FileInfo(
    "log4net.config"
    ));
  4.         }

在这个项目对应的Assembly.cs文件中添加一行

 

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

 

这里有个地方需要注意

如果我的主项目是纯粹的代码分离后的aspx/ascx文件, 不含cs文件,那么中需要在饱含cs文件的项目(比如common.web.csproj)文件中添加这两行代码

举个例子

解决方案如下:

MySolution.Sln

       |-----common.Web.csproj(包含cs文件)

       |-----Business1.Web.csproj(包含cs文件,继承自common.Web.csproj)

       |-----Business********.Web.csproj(包含cs文件,继承自common.Web.csproj)

       |-----BusinessX.Web.csproj(包含cs文件,继承自common.Web.csproj)

    |-----MainWeb.csproj(不包含cs文件)

此时, 只需要在 common.Web.csproj
中做以上动作就可以了!其他项目只需要引用 dll即可。

 第三步:添加logn4net.confgi在主项目根目录下:与web.config同路径,之所以不写入web,config文件, 是因为这样可以单独修改调试部署,也就是非侵入式安装的思想。呵呵。

内容大概如下:

 

 

 

 

具体的可以看看官方文档

http://logging.apache.org/log4net/release/sdk/index.html

 

基本完成了!需要注意的一个参数

 

<bufferSize value="10" />,表示是记录10 条到缓冲区,满10条后再写入SQL server

调试时可以改为1,实际应用建议为100

 

数据库生成脚本

第四步:
在需要记录的每个类中添加如下代码

给出一个例子

 记录的样式如下:

 

OK! 结束,

Any Question ,Please Mail to tony(邀月)3w@live.cn

写入文件请看这里

log4net写入日志文件示例

助人等于自助!   3w@live.cn

抱歉!评论已关闭.