这是一个创建于 3748 天前的主题,其中的信息可能已经有所发展或是发生改变。
做一个小东西,遇到日志处理的问题,现在我有两种方法:
方法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、另外再有个方案:新建两张表,一个普通日志表,一个错误日志表。 普通日志表记录增删改查操作,用方法二,插入日志表;捕获到程序错误时,插入错误日志表并发送邮件;
请教一下大家有什么好的建议?