博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在项目中使用log4net记录日志
阅读量:4931 次
发布时间:2019-06-11

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

一、准备工作

  1. log4net源码一份,或者生成的log4net.dll文件一份
  2. 数据库中新建一张表,就叫LogCenter吧。
  3. 配置文件一份。
  4. 记录日志的方法一份。

二、开工-- log4net.dll

log4net官方网站:

编译好的 log4net.dll 文件,!

将log4net.dll添加引用到项目中。

三、建表

--数据库创建表

CREATETABLE[dbo].[LogCenter](

[Id][int] primary key IDENTITY (1, 1)NOT NULL,

[Date][datetime]NOTNULL,

[Thread][varchar](255)NOT NULL,

[Level][varchar](50)NOT NULL,

[Logger][varchar](255)NOT NULL,

[Message][varchar](4000)NOT NULL,

[Exception][varchar](2000)NULL

)

四、添加配置文件

五、记录日志的实现代码

Implementation:

using System;

namespace Log4netTet
{
    /// <summary>
    ///
日志操作类
   
/// </summary>
   
public class LogWrite
   
{
        private LogWrite()
        {
            // 构造函数设置配置文件
           
SetConfig();
        }
        // 创建一个log4net对象
        //
       
private static readonly log4net.ILog logInfo = log4net.LogManager.GetLogger("loginfo");
        private static bool IsLoadConfig = false;
        // 设置配置文件
        //
       
private static void SetConfig()
        {
            log4net.Config.XmlConfigurator.Configure();
        }
        /// <summary>
        ///
记录异常信息
       
/// </summary>
        /// <param name="info">
错误提示信息</param>
       
public static void WriteLog(string info)
        {
            if (!IsLoadConfig)
            {
                SetConfig();
                IsLoadConfig = true;
            }
            if (logInfo.IsInfoEnabled)
            {
                logInfo.Info(info);
            }
        }
        public static void WriteLog(string info, Exception ex)
        {
            if (!IsLoadConfig)
            {
                SetConfig();
                IsLoadConfig = true;
            }
            if (logInfo.IsErrorEnabled)
            {
                logInfo.Error(info, ex);
            }
        }
    }
}

六、测试代码

因为实现代码LogWrite类中是静态方法,所以调用的时候不用实例化,简单调用即可。

 

protected void btnLog4net_Click(object sender, EventArgs e)        {             //普通日志消息
Log4netTest.LogWrite.WriteLog(“测试消息");
//异常信息
Log4netTest.LogWrite.WriteLog(“报异常了", new Exception(“这是异常信息啊"));
              
}
 

七、最终效果

 

 

转载于:https://www.cnblogs.com/fanyong/archive/2012/03/22/2411341.html

你可能感兴趣的文章
HDU 5656 CA Loves GCD (数论DP)
查看>>
九度oj 题目1254:N皇后问题
查看>>
Win7 下 PB (PowerBuilder) Insert Control 崩溃的解决办法
查看>>
必须熟练的基础linux命令
查看>>
如何解决弹出“密码长度无效”错误的问题
查看>>
securecrt上传下载文件命令
查看>>
Hiernate的批量处理
查看>>
很漂亮的SweetAlert.js 弹出层
查看>>
JQuery中的param()、 serialize() 和serializeArray()方法
查看>>
[ios][opengles]OpenGL ES基础知识简介
查看>>
[转]xml解析工具的效率比较QDomDocument、TinyXml-2、RapidXml、PugiXml
查看>>
Apache的443端口被占用解决方法(转)
查看>>
H - Solve this interesting problem 分类: ...
查看>>
重构父类方法和返回值
查看>>
【原创】字符串工具类--驼峰法与下划线法互转
查看>>
模块化开发规范
查看>>
POJ 2642 The Brick Stops Here 0-1背包
查看>>
格式化操作
查看>>
DDX和DDV——控件与变量之间值的传递
查看>>
bzoj1093: [ZJOI2007]最大半连通子图
查看>>