当前位置:编程学习 > C#/ASP.NET >>

大神们,如何向已有的程序系统里面添加记录日志?

大神们,我现在有个类似于OA的管理系统,现在上面让我在里面添加记录日志,我应经用log4net写好了,请问如何添加到OA的管理系统里面,本人菜鸟,请指导详细点,谢谢! --------------------编程问答-------------------- 看来都还没起床呢? --------------------编程问答-------------------- 在OA系统代码里面需要添加日志的地方加Log.Info等代码啊 --------------------编程问答-------------------- 在系统关键的地方,加入log就行了啊,尤其是try catch 的catch模块中,catch发生的错误,并日志记录,以便于在发生错误时,系统仍可以正常运行,而我们通过日志文件可以看到错误的详细信息,并修改源程序 --------------------编程问答--------------------
引用 2 楼 guwei4037 的回复:
在OA系统代码里面需要添加日志的地方加Log.Info等代码啊

一般都是什么地方需要加啊? --------------------编程问答--------------------
引用 3 楼 wpfLove 的回复:
在系统关键的地方,加入log就行了啊,尤其是try catch 的catch模块中,catch发生的错误,并日志记录,以便于在发生错误时,系统仍可以正常运行,而我们通过日志文件可以看到错误的详细信息,并修改源程序
不知道在什么地方加啊?这是最关键的! --------------------编程问答-------------------- 附上我的代码,配置问价都搞好了。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using log4net;
using System.Reflection;
using System.Threading;

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Web.config", Watch = true)]
namespace WebLog
{
    public partial class _Default : System.Web.UI.Page
    {
        private static readonly ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
        //创建日志记录组件实例
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                ThreadStart m = new ThreadStart(Run);//创建线程委托
                Thread logthread = new Thread(m);  //创建新的线程
                logthread.Start();                   //开始新的线程
                Response.Write("日志记录完毕。");
            }  
        }
        public void Run() 
        {
            //测试数据
            Random random = new Random();
            for (int i = 0; i < 1; i++)
            {
                //ILog log = log4net.LogManager.GetLogger(typeof(Program));  
                //记录错误日志  
                if(log.IsErrorEnabled)
                {
                    log.Error("error", new Exception("在这里发生了一个异常,Error Number:" +       random.Next()));
                }
                //记录严重错误  
                if(log.IsFatalEnabled)
                {
                    log.Fatal("fatal", new Exception("在发生了一个致命错误,Exception Id:" + random.Next()));
                }
                //记录一般信息
                if (log.IsInfoEnabled) 
                {
                    log.Info("提示:系统正在运行");
                }
                //记录调试信息 
                if (log.IsDebugEnabled) 
                {
                    log.Debug("调试信息:debug");
                }
                //记录警告信息  
                if (log.IsWarnEnabled) 
                {
                    log.Warn("警告:warn");
                }
                //Response.Write("日志记录完毕。");
                //System.Web.HttpContext.Current.Response.Write("日志记录完毕!"); 
                //Console.WriteLine("你好");
            }
        }
    }
}


--------------------编程问答-------------------- 笨办法,每个需要前台操作的地方以及后台处理的地方都加上log,一段时间后就知道哪里最容易出问题了。 --------------------编程问答--------------------
引用 7 楼 lzh3312 的回复:
笨办法,每个需要前台操作的地方以及后台处理的地方都加上log,一段时间后就知道哪里最容易出问题了。
你的意思是按钮的地方? --------------------编程问答-------------------- 先把写好的log引用到程序里面去,然后在调用。 --------------------编程问答--------------------
引用 8 楼 u012238529 的回复:
Quote: 引用 7 楼 lzh3312 的回复:

笨办法,每个需要前台操作的地方以及后台处理的地方都加上log,一段时间后就知道哪里最容易出问题了。
你的意思是按钮的地方?

不只是按钮啊,比如OA中的签到这个事儿,定时更新状态,这个事件是否有问题,也可以写log --------------------编程问答--------------------
引用 9 楼 hxm20003 的回复:
先把写好的log引用到程序里面去,然后在调用。

关键的问题是在里面什么地方调用,那么多的页面。 --------------------编程问答--------------------
引用 10 楼 lzh3312 的回复:
Quote: 引用 8 楼 u012238529 的回复:

Quote: 引用 7 楼 lzh3312 的回复:

笨办法,每个需要前台操作的地方以及后台处理的地方都加上log,一段时间后就知道哪里最容易出问题了。
你的意思是按钮的地方?

不只是按钮啊,比如OA中的签到这个事儿,定时更新状态,这个事件是否有问题,也可以写log

页面那么多,需要每个页面都得记录日志吗? --------------------编程问答--------------------
引用 12 楼 u012238529 的回复:
Quote: 引用 10 楼 lzh3312 的回复:

Quote: 引用 8 楼 u012238529 的回复:

Quote: 引用 7 楼 lzh3312 的回复:

笨办法,每个需要前台操作的地方以及后台处理的地方都加上log,一段时间后就知道哪里最容易出问题了。
你的意思是按钮的地方?

不只是按钮啊,比如OA中的签到这个事儿,定时更新状态,这个事件是否有问题,也可以写log

页面那么多,需要每个页面都得记录日志吗?

可能出现问题的地方呗。。。所以说是笨办法啊 --------------------编程问答-------------------- 没有详细点的吗? --------------------编程问答-------------------- 大神们啊,现身吧,比如说在用户登录处改如何添加日志啊? --------------------编程问答-------------------- 这要看你处理逻辑的地方了撒!而且还要根据你记录日志的类别,比如说你要记操作日志,登录就算是一种,你要记数据库访问(异常),你就在你的数据库操作的地方记撒!
总之就是要分类的记!
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,