频道栏目
首页 > 程序开发 > 综合编程 > 其他综合 > 正文
asp.net Web项目中使用Log4Net进行错误日志记录分享
2019-01-29 14:43:08         来源:心所欲  
收藏   我要投稿
asp.net Web项目中使用Log4Net进行错误日志记录

使用log4net可以很方便地为应用添加日志功能。应用Log4net,开发者可以很精确地控制日志信息的输出,减少了多余信息,提高了日志记录性能。同时,通过外部配置文件,用户可以不用重新编译程序就能改变应用的日志行为,使得用户可以根据情况灵活地选择要记录的信息。

那么我们如何在Web项目中使用Log4Net呢?

一、基本配置

1、下载Log4Net,地址如下:https://logging.apache.org/log4net/download_log4net.cgi,如下图所示:

\

 

2、下载到本地后,进行解压,,并找到对应版本的.NET Framework版本,如下图所示:

\

\

 

3、在项目中添加Log4Net.DLL的引用,如下图所示:

\

\

 

4、在Web项目根目录下创建log4net.config配置文件,如下图所示:

\

\

配置文件log4new.configXML代码如下:

 

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  

  15. 5、项目中添加一个LogHelper.cs操作类,这样可以之后的其他页面进行调用,如下图所示:

    \

     

    LogHelper.cs类代码如下:

     

    1. usingSystem; usingSystem.Collections.Generic;
    2. usingSystem.Linq; usingSystem.Web;
    3. [assembly:log4net.Config.XmlConfigurator(Watch=true)]
    4. namespaceAPESM_GGJ.CommonClass {
    5. publicclassLogHelper {
    6. /// ///输出日志到Log4Net
    7. ///
    8. ///
    9. /// #regionstaticvoidWriteLog(Typet,Exceptionex)
    10. publicstaticvoidWriteLog(Typet,Exceptionex)
    11. { log4net.ILoglog=log4net.LogManager.GetLogger(t);
    12. log.Error("Error",ex); }
    13. #endregion
    14. ///
    15. ///输出日志到Log4Net ///
    16. /// ///
    17. #regionstaticvoidWriteLog(Typet,stringmsg)
    18. publicstaticvoidWriteLog(Typet,stringmsg) {
    19. log4net.ILoglog=log4net.LogManager.GetLogger(t); log.Error(msg);
    20. }
    21. #endregion
    22. } }

       

      6、在项目中添加一个全局应用程序类Global.asax,如下图所示:

      \

      \

       

      方法中添加如下代码:

       

      1. protectedvoidApplication_Start(objectsender,EventArgse) {
      2. //应用程序启动时,自动加载配置log4Net XmlConfigurator.Configure();
      3. }

         

         

        7、打开Web.config文件,添加如下配置信息,如下图所示:

        \

         

        配置文件代码如下:

         

        1.  
        2.  
        3.  
        4.  
        5.  
        6.  
        7.  
        8.  
        9.  

          注意 ,需要注意的一个参数bufferSize=10表示是记录10 条到缓冲区,满10条后再写入SQL server;

          测试时将其修改为1

          生产环境建议100

           

          上面配置节中数据库名,用户名和密码,根据实际情况进行修改。

           

          数据库表ErrorLog创建语句为:

           

          1. CREATETABLEErrorLog( nIdbigintIDENTITY(1,1)NOTNULL,
          2. dtDatedatetimeNOTNULL, sThreadnvarchar(100)NOTNULL,
          3. sLevelnvarchar(200)NOTNULL, sLoggernvarchar(500)NOTNULL,
          4. sMessagenvarchar(3000)NOTNULL, sExceptionnvarchar(4000)NULL
          5. );
            如下图所示:

            \

             

             

            三、整合

            想同时保存到日志文件和数据库,log4net.config的文件配置如下XML代码所示:

             

            1.  
            2.  
            3.  
            4.  
            5.  
            6.  
            7.  
            8.  
            9.  
            10.  
            11.  
            12.  
            13.  
            14.  
            15.  
            16.  
            17.  
            18.  
            19.  
            20.  
            21.  
            22.  
            23.  
            24.  
            25.  
            26.  
            27.  
            28.  
            29.  
            30.  
            31.  
            32.  
            33.  
            34.  
            35.  
            36.  
            37.  
            38.  
            39.  
            40.  
            41.  
            42.  
            43.  
点击复制链接 与好友分享!回本站首页
上一篇:Elasticsearch倒排索引结构解析
下一篇:爬虫之使用scrapy爬取糗事百科并在txt文件中持久化存储
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站