一、说明
日志模块作为一个管理系统应该有的模块之一,在系统中有着举足轻重的作用,可以记录用户的操作记录和者系统异常,出现问题可以快速定位错误。在之前的系统开发中,我一般用的是Serilog
来进行日志模块的开发,然而在Fruion
推出了自己的日志功能之后,所有能改的系统都改成了Furion
的日志模块,非常灵活。本系统借助Fruion
的LoggingMonitor
监听日志功能,实现了操作日志和访问日志的记录。服务层无需填写任何代码,只需要在控制器方法上加上Description
特性即可。
二、日志组件
想要实现以上功能,需要在注册LoggingMonitor
监听的时候增加一些配置,为了便于管理我写成了LoggingMonitorComponent
组件,可以在Web.Core
层组件文件夹找到。
这样当用户调用接口时,LoggingMonitor
就自动帮我们记录了请求的地址,参数,结果等信息,我们只需要在数据库写入器中获取日志的json字符串,转为实体,然后做逻辑处理就行。
三、访问日志
本系统中的访问日志主要是记录用户的登录登出操作,逻辑很简单,根据操作名称判断如果是用户登录和用户登出则进入访问日志的写入。
operation
也就是我们在接口方法上加的Description
特性中的值。写入日志之后可以在系统运维
->日志审计
->访问日志
中查看。
四、操作日志
操作日志主要是记录用户操作信息和操作异常日志。
默认Get
方法不会记录,只记录Post
方法并且方法上需要带有Description
特性,登录登出的异常日志也会记录。写入之后可以在系统运维
->日志审计
->操作日志
中查看。