发布网友 发布时间:2022-04-12 11:09
共3个回答
懂视网 时间:2022-04-12 15:30
一张系统日志表 最近考虑给我的web系统记录日志的方式。于是就搞了一张这样的表出来。先来张图。 日志表就是上面这个样子,下面的语句: [html] drop table log; /*==============================================================*/ /* Table: log */ /*==
一张系统日志表
最近考虑给我的web系统记录日志的方式。于是就搞了一张这样的表出来。先来张图。
日志表就是上面这个样子,下面的语句:
[html] drop table log; /*==============================================================*/ /* Table: log */ /*==============================================================*/ create table log ( SEQ int not null, URL varchar(1024) not null, USER_NAME varchar(128) not null, USER_ID varchar(32) not null, PARAMIN varchar(1024) null, ACCESS_TIME timestamp not null, "DESC" varchar(512) null, constraint PK_LOG primary key clustered (SEQ) ); comment on table log is '记录系统操作信息'; comment on column log.SEQ is '主键,自增';
毕竟这是用户操作日志。通过url可以很好的指出用户是在干什么事情。
我见过这样的记录日志的方式:
创建人,创建时间,修改人,修改时间应该就是要记录此表中某条记录的创建或修改。按照同样的逻辑,系统中的所有的表都要加这些个字段。O,MY GOD!
热心网友 时间:2022-04-12 12:38
这篇文章主要介绍了.NET 日志系统设计思路及实现代码,有需要的朋友可以参考一下 日志很明显是帮助大家定位到问题的一个很重要的手段,本来是想直接使用的NLog 来做系统的日志工具,哎伤不起,一*非要说这个有很多不可控制的因素,这里我给大家讲一下我是怎么实现日志模块的,欢迎拍砖 总体架构图 • 在这里我把日子的等级分为 跟踪,BUG 和错误 3种 定义枚举如下 代码如下: /// <summary> /// 日志等级 /// </summary> public enum Loglevel { Track=1, Bug, Error } • 这里考虑日志的模块的可扩展性 (这里支持 数据库 和文件 2种方式) 这里使用适配器模式来完成本模块。 这里给大家来年终福利。贴点代码 定义一个接口ILogTarget 代码如下: public interface ILogTarget { /// <summary> /// 写入追踪信息 /// </summary> /// <param name="LogContent"></param> void WriteTrack(string LogContent); /// <summary> /// 写入BUG信息 /// </summary> /// <param name="LogContent"></param> void WriteBug(string LogContent); /// <summary> /// 写入错误信息 /// </summary> /// <param name="LogContent"></param> void WriteError(string LogContent); } • FileLog ,和DBLog 2个类实现上面的接口 这里不贴上具体的现实 代码如下: /// <summary> /// 文件日志实现类 /// </summary> public class FileLog : ILogTarget { public void WriteTrack(string LogContent) { throw new NotImplementedException(); } public void WriteBug(string LogContent) { throw new NotImplementedException(); } public void WriteError(string LogContent) { throw new NotImplementedException(); } } 代码如下: public class DBLog : ILogTarget { public void WriteTrack(string LogContent) { throw new NotImplementedException(); } public void WriteBug(string LogContent) { throw new NotImplementedException(); } public void WriteError(string LogContent) { throw new NotImplementedException(); } } 代码如下: public class SmartLog { private ILogTarget _adaptee; public SmartLog(ILogTarget tragent) { this._adaptee = tragent; } public void WriteTrack(string LogContent) { _adaptee.WriteTrack(LogContent); } public void WriteBug(string LogContent) { _adaptee.WriteBug(LogContent); } public void WriteError(string LogContent) { _adaptee.WriteError(LogContent); } } • 调用方式 代码如下: SmartLog log =new SmartLog (new FileLog()); log.WriteTrack("Hello word");热心网友 时间:2022-04-12 13:56
您好,请问您是想知道如何设计一个系统的日志吗?