关于日志处理的一个实例问题请教

2014-08-11 15:59:49 +08:00
 dong3580
做一个小东西,遇到日志处理的问题,现在我有两种方法:

方法1.在数据库里面创建一个触发器,数据库发生 "增删改查"时触发操作,插入日志表;

方法2.在程序里面逻辑判断,普通日志直接插入日志表,遇到错误捕获异常发送邮件,新建这样一个实体类字段如下:

[code]
public class LogModels
{
public Int64 Id { get; set; }//标识
public Int64 UserId { get; set; }//登录userid
public string Ip { get; set; }//登录ip
public string Browser { get; set; }//使用浏览器user-agent//Request.Browser.Browser;
public int LogType { get; set; }//日志种类/*1登录日志,2创建,3更新,4删除,5查询(限制查询次数,缓存)6,错误日志*/
public string ProductId { get; set; }//来源系统模块
public string ProductUrl { get; set; }//实际链接
public string ProductFile { get; set; }//方法所在源文件
public string ProductFunction { get; set; }//来源方法名
public string LogValue { get; set; }//执行操作的内容
public string LogContent { get; set; }//如是错误日志,此处为捕获的错误原因
public DateTime CreateDate { get; set; }//创建时间
public Int64 CreateId { get; set; }//创建人id
public DateTime UpdateDate { get; set; }//修改时间
public Int64 UpdateId { get; set; }//修改人id
}
[/code]
每一个方法,“增删改查”均调用执行。

1、前者好处是方便,但是日志不具体,错误日志需还要在代码中写判断插入日志表;
2、后者日志非常详细,而且可以后期拓展为一些小工具,但是估计这样的话日志量会“很大”;
3、另外再有个方案:新建两张表,一个普通日志表,一个错误日志表。 普通日志表记录增删改查操作,用方法二,插入日志表;捕获到程序错误时,插入错误日志表并发送邮件;

请教一下大家有什么好的建议?
3300 次点击
所在节点    日志处理
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/127243

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX