博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
log4net使用简明教程
阅读量:6149 次
发布时间:2019-06-21

本文共 3387 字,大约阅读时间需要 11 分钟。

在项目当中经常会遇到各种各样的问题,如何可以尽快找到问题,那么就只能靠日志了,所以一个系统的日志是否完备合理就尤为重要。

在日志管理插件中log4net相当流行,下面就简单说明一下使用方法。

log4net的官方网址为

如果英文较好,可以直接看官方网站的教程,尤其是config部分的教程

下面示例教程的源代码下载网址为: 

1、引入log4net组件

在Visual Studio中选中所需添加log4net的项目,点击鼠标右键,选择【管理NuGet程序包】

输入关键字log4,查找对应程序包,并点击安装

完成完成之后,你可以在引用中看到已经成功引用log4net

2、配置log4net参数。由于配置文件内容比较多,详细内容可以下载示例工程代码,这里只是对有关错误日志信息的定义进行说明,其他类似

3、完成配置之后就可以进行在程序中调用了,为了方便调用,我定义了一个日志记录类LogHelper,具体代码如下:

using System;using log4net;namespace WebApplication1.ActionHelper{    public class LogHelper    {        private ILog logger;        public LogHelper(ILog log)        {            this.logger = log;        }        public void Info(object message)        {            this.logger.Info(message);        }        public void Info(object message, Exception e)        {            this.logger.Info(message, e);        }        public void Debug(object message)        {            this.logger.Debug(message);        }        public void Debug(object message, Exception e)        {            this.logger.Debug(message, e);        }        public void Warning(object message)        {            this.logger.Warn(message);        }        public void Warning(object message, Exception e)        {            this.logger.Warn(message, e);        }        public void Error(object message)        {            this.logger.Error(message);        }        public void Error(object message, Exception e)        {            this.logger.Error(message, e);        }        public void Fatal(object message)        {            this.logger.Fatal(message);        }        public void Fatal(object message, Exception e)        {            this.logger.Fatal(message, e);        }    }    public class LogFactory    {        static LogFactory()        {        }        public static LogHelper GetLogger(Type type)        {            return new LogHelper(LogManager.GetLogger(type));        }        public static LogHelper GetLogger(string str)        {            return new LogHelper(LogManager.GetLogger(str));        }    }}

然后再具体页面中可以按照如下方式进行调用

using System;using System.Collections.Generic;using System.Linq;using System.Reflection;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;namespace WebApplication1{    public partial class Default : System.Web.UI.Page    {        private ActionHelper.LogHelper log;        protected void Page_Load(object sender, EventArgs e)        {            pageLoad();        }        private void pageLoad()        {                        log = ActionHelper.LogFactory.GetLogger(MethodBase.GetCurrentMethod().DeclaringType.FullName + ":" + MethodBase.GetCurrentMethod().Name);            log.Info("起始页面载入222");            log.Error("起始页面载入");        }    }}

4、如为了省事,需要对系统中所有的异常进行捕捉处理,则可以在Global.asax中进行定义

protected void Application_Error(object sender, EventArgs e)        {            ActionHelper.LogHelper log = ActionHelper.LogFactory.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);            log.Error("未处理异常",HttpContext.Current.Server.GetLastError());        }

至此就设置完成了。

 

全部设置下来其实还是比较简单的,如果实在不明白,可以直接下载:  一看就明白了。

 

转载于:https://www.cnblogs.com/songhaipeng/p/3343606.html

你可能感兴趣的文章
多线程设计模式
查看>>
解读自定义UICollectionViewLayout--感动了我自己
查看>>
SqlServer作业指定目标服务器
查看>>
User implements HttpSessionBindingListener
查看>>
eclipse的maven、Scala环境搭建
查看>>
架构师之路(一)- 什么是软件架构
查看>>
USACO 土地购买
查看>>
【原创】远景能源面试--一面
查看>>
B1010.一元多项式求导(25)
查看>>
10、程序员和编译器之间的关系
查看>>
前端学习之正则表达式
查看>>
配置 RAILS FOR JRUBY1.7.4
查看>>
AndroidStudio中导入SlidingMenu报错解决方案
查看>>
修改GRUB2背景图片
查看>>
Ajax异步
查看>>
好记性不如烂笔杆-android学习笔记<十六> switcher和gallery
查看>>
JAVA GC
查看>>
3springboot:springboot配置文件(外部配置加载顺序、自动配置原理,@Conditional)
查看>>
前端第七天
查看>>
图解SSH原理及两种登录方法
查看>>