一、说明

日志模块作为一个管理系统应该有的模块之一,在系统中有着举足轻重的作用,可以记录用户的操作记录和者系统异常,出现问题可以快速定位错误。在之前的系统开发中,我一般用的是Serilog来进行日志模块的开发,然而在Fruion推出了自己的日志功能之后,所有能改的系统都改成了Furion的日志模块,非常灵活。本系统借助FruionLoggingMonitor监听日志功能,实现了操作日志和访问日志的记录。服务层无需填写任何代码,只需要在控制器方法上加上DisplayName特性即可。

二、日志组件

想要实现以上功能,需要在注册LoggingMonitor监听的时候增加一些配置,为了便于管理我写成了LoggingMonitorComponent组件,可以在Web.Core层组件文件夹找到。

这样当用户调用接口时,LoggingMonitor就自动帮我们记录了请求的地址,参数,结果等信息,我们只需要在数据库写入器中获取日志的json字符串,转为实体,然后做逻辑处理就行。

三、访问日志

本系统中的访问日志主要是记录用户的登录登出操作,逻辑很简单,根据操作名称判断如果是用户登录和用户登出则进入访问日志的写入。

operation也就是我们在接口方法上加的Description特性中的值。写入日志之后可以在系统运维->日志审计->访问日志中查看。

四、操作日志

本系统中操作日志主要是记录用户操作信息和操作异常日志。

默认Get方法不会记录,只记录Post方法并且方法上需要带有Description特性,登录登出的异常日志也会记录。写入之后可以在系统运维->日志审计->操作日志中查看。