社区
C#
帖子详情
用户的操作日志应如何记录?
csz_1987
2011-11-06 09:57:42
系统需要对用户的操作进行记录。用户的每一个“增、删、改、查”操作都必须被插入日志表。
请问除了在“增、删、改、查”的“业务SQL”里嵌入“日记记录SQL”外,还有没有别的方法来实现用户操作日志记录?
这么做好像代码冗余很大,而且很烦。是否有类似“拦截器”之类的东西,在更高的层次“监听”用户操作,对用户操作日志的记录在“拦截器”内完成。或者是否有类似的日志记录组件?
PS:是用户操作日志记录,不是系统异常日志记录。
...全文
7161
13
打赏
收藏
用户的操作日志应如何记录?
系统需要对用户的操作进行记录。用户的每一个“增、删、改、查”操作都必须被插入日志表。 请问除了在“增、删、改、查”的“业务SQL”里嵌入“日记记录SQL”外,还有没有别的方法来实现用户操作日志记录? 这么做好像代码冗余很大,而且很烦。是否有类似“拦截器”之类的东西,在更高的层次“监听”用户操作,对用户操作日志的记录在“拦截器”内完成。或者是否有类似的日志记录组件? PS:是用户操作日志记录,不是系统异常日志记录。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
芦羊
2013-12-23
打赏
举报
回复
支持楼主,我也遇到了类似问题,冗余代码和效率是最大的障碍!!!
chinazdq
2011-11-07
打赏
举报
回复
将日志写入操作和业务操作封装在两个事务里,但是属于一个大事务。
cchvsgame
2011-11-07
打赏
举报
回复
有,继续你的sqlConnection,可在你的执行语句上,再包装一层,然后在公用 的SQL语句中,查是否有DELETE INSERT UPDATA即可,一般都是这么做的。
你
sql="INSERT tab(a,b) VALUES('a','b')";
ComDB.Exec(sql);
Exec是你的封装函数
int Exec(string sql)
{
if(sql.转成大写.Find("INSERT","DELETE","UPDATA"))
{
LOG
}
}
快溜
2011-11-07
打赏
举报
回复
在数据库操作类中处理,每次访问数据库都添加一条记录给操作日志表,表触发器是做不到这一点的
曼尼叔叔
2011-11-07
打赏
举报
回复
把数据操作都封装起来做一个类或者接口,在里面把每一个操作都加上操作日志,系统内所有的数据操作都从这个类继承下来,就可以了撒
wanghui0380
2011-11-06
打赏
举报
回复
另外
增、删、改、查”的“业务SQL”里嵌入“日记记录SQL”
其实大部分数据库本身就有类似工作,比如mssql,除了你的数据库文件以外,本身就有log日志文件,数据库里任何变动其实都已经在日志文件当中记录了
wanghui0380
2011-11-06
打赏
举报
回复
我想你应该好好看一下AOP到底指的是什么!!
既然你已经明白系统异常日志记录 怎么做
那么是用户操作日志记录实际是同样原理。 切面编程的切面不止包括异常处理,但凡可以成面状散布在系统的东西,实际都可以这么做,包括权限,包括日志
ps:另外和老p想法一致,这种要求本身带有不合理性,客户实际上并不需要所有操作记录,客户在实际操作中了不起需要一些关键信息的更改记录,如果夸大记录范围,实际上作用并非很大,相反还意味着你必须去做一种信息评价工作,去给客户参考是否有类似“入侵”操作判定,这样无形当中给你的系统“镀了金”,真的需要这样的“镀金”吗?大部分情况下是不需要滴,如果真需要,那实际上是另外一个项目---入侵检测系统了
幸福的小木鱼
2011-11-06
打赏
举报
回复
我也建议你在后台代码中 判断,把信息写入并保存到文件中,不存入数据库中,然后对文件进行定期备份,这样会好一些
以专业开发人员为伍
2011-11-06
打赏
举报
回复
随便乱说说,我想就会被你以为是什么高明的设计了。其实这个问题下,有经验的设计师都知道这是一个陷阱,如果你不具体深入到所谓用户需求,你就很容易胡乱设计出对一般的软件的性能严重有害的东西。
以专业开发人员为伍
2011-11-06
打赏
举报
回复
[Quote=引用 2 楼 csz_1987 的回复:]
你就告诉我,有没有更好的办法实现就行了。
用户有用户的想法。[/Quote]
没有更好,只有用最低级的的东西来忽悠这个所谓的“更高层次”操作。比如直截了当说“SQL Server 触发器”,这谁都懂。
以专业开发人员为伍
2011-11-06
打赏
举报
回复
你可以看看那些真正一看就特别是用的框架,哪一个不是从细节出发,这样才显得有框架的架构!比如说,如果我们具体到SQL Server的触发器,那么也就是明白了。
不知道你是从何而来的设计。如果用户根本不需要,那么最好不要让电脑花费巨大的代价去记录什么。
csz_1987
2011-11-06
打赏
举报
回复
[Quote=引用 1 楼 sp1234 的回复:]
用户要记录什么?问用户。如果用户不需要,而你编程者需要,那对用户来说就是多余的。
至于什么高层次,首先都要有恰好合适的层次,也就是知道细节。不知道细节的所谓解决方案,全都是空洞的理论。
[/Quote]
你就告诉我,有没有更好的办法实现就行了。
用户有用户的想法。
以专业开发人员为伍
2011-11-06
打赏
举报
回复
用户要记录什么?问用户。如果用户不需要,而你编程者需要,那对用户来说就是多余的。
至于什么高层次,首先都要有恰好合适的层次,也就是知道细节。不知道细节的所谓解决方案,全都是空洞的理论。
基于SSM框架图书借阅管理项目实战开发(附源码资料)
主要功能包括:图书查询、图书管理、图书编辑、读者管理、图书的借阅与归还以及借还
日志
记录
等。 系统分两种角色: 管理员角色:可以管理读者,图书,借阅
记录
等 读者角色:可以查阅并借阅图 书,归还图书等 ...
java
用户
行为
日志
记录
方法_简单易用的开源
用户
操作
日志
记录
系统
我们开发的业务系统通常会提供给很多人使用,那在使用的过程中,
日志
系统变得非常重要。
日志
系统
记录
的
用户
行为有以下的作用:从系统
用户
角度看:它展示了
用户
自身的
操作
历史和具体对象的变动历史,便于
用户
进行梳理从系统管理员角度看:它可以
记录
了所有
用户
操作
,便于我们定位异常行为例如,在git的project
操作
中,我们就可以看到这样的
操作
日志
展示: 对于这样的
日志
记录
,我们可以在相关
记录
点添加对
应
的
日志
写入代...
实现
用户
操作
日志
记录
java自带的
日志
框架是java.util.logging(JUL),从JDK1.4(2002)开始捆绑在JDK中。可以使用JUL来
记录
操作
日志
。:主要是对某个对象进行新增
操作
或者修改
操作
后
记录
下这个新增或者修改,
操作
日志
要求可读性比较强,因为它主要是给
用户
看的,比如订单的物流信息,
用户
需要知道在什么时间发生了什么事情。:统
日志
主要是为开发排查问题提供依据,一般打印在
日志
文件中;系统
日志
的可读性要求没那么高,
日志
中会包含代码的信息,比如在某个类的某一行打印了一个
日志
。这里我就简单
记录
一下基本的信息。
如何实现
操作
操作
日志
记录
如何实现
操作
操作
日志
记录
为什么要
记录
操作
日志
? 项目中的业务需求,需要针对
用户
的一些业务
操作
做
操作
记录
, 也就是标题中的操场
日志
记录
,最近做的项目也有这个需求, 我也是第一次写,相信有很多开发者也有遇到这个需求的,所以 在这里做一个简单的
记录
,只是提供一个思路参考,代码什么的 其实是次要的! 业务需求如下,
记录
用户
的重要
操作
,
记录
除查询外,如增加,修改,和删除等
操作
实现思路 首先我肯定是用...
简单易用的开源
用户
操作
日志
记录
系统
我们开发的业务系统通常会提供给很多人使用,那在使用的过程中,
日志
系统变得非常重要。
日志
系统
记录
的
用户
行为有以下的作用: 从系统
用户
角度看:它展示了
用户
自身的
操作
历史和具体对象的变动历史,便于
用户
进行梳理 从系统管理员角度看:它可以
记录
了所有
用户
操作
,便于我们定位异常行为 例如,在git的project
操作
中,我们就可以看到这样的
操作
日志
展示: 对于这样的
日志
记录
,我们可以在相关
记录
点添加对...
C#
110,571
社区成员
642,568
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章