博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Abp框架之审计日志
阅读量:5936 次
发布时间:2019-06-19

本文共 1366 字,大约阅读时间需要 4 分钟。

  ABP对审计功能封装的非常好,虽然是很简单的功能,但是抽象出来并不容易,接下来看看作者是怎么抽象的。

一般地,要保存的字段是:

tenant id(相关的租户Id),

user id(请求用户Id),

server name(请求的服务名称【调用方法对应的类】),

method name(调用方法名称),

parameters(方法的参数【JSON格式】),

execution time(执行时间),

duration (执行耗时时间【通常是毫秒】),

IP address (客户端IP地址),

computer name(客户机名称),

exception (异常【如果方法抛出异常】)等信息。

审计系统使用IAbpSession来获得当前的UserId和TenantId。

 

1、配置

审计日志默认是开启的,可以用如下代码关闭

public class MyModule : AbpModule{    public override void PreInitialize()    {         Configuration.Auditing.IsEnabled = false;   //关闭审计日志,默认为True         Configuration.Auditing.IsEnabledForAnonymousUsers = false;   //未登录的用户是否记录日志,默认false         Configuration.Auditing.MvcControllers.IsEnabled = false;  //用于为MVC控制器开启或关闭审计。默认为true(MVC控制器审计单独配置)         Configuration.Auditing.MvcControllers.IsEnabledForChildActions = true;  //用于为子MVC action开启或关闭审计。默认为false。          Configuration.Auditing.Selectors.Add(             //如果你不喜欢为应用服务保存审计日志,那么你可以通过名称移除选择器。            new NamedTypeSelector(                "ABP.Application",                type => typeof(IApplicationService).IsAssignableFrom(type)            ));    }}

也可以为一个单独的类或方法使用Audited和 DisableAuditing特性

 

[Audited]public class MyClass{    public void MyMethod1(int a)    {        //...    }    [DisableAuditing]    public void MyMethod2(string b)    {        //...    }}

 

2、审计接口关联字段图

 

转载于:https://www.cnblogs.com/guangmangchen/p/5287817.html

你可能感兴趣的文章
测试之路
查看>>
终于对了
查看>>
RabbitMQ集群
查看>>
Apache防盗链和隐藏版本信息
查看>>
ARP协议与路由
查看>>
使用pypiserver搭建私有源
查看>>
SCI检索介绍
查看>>
Android开发之生成自己的签名文件及App签名打包
查看>>
如何提高阿里云上应用的可用性(二)
查看>>
云宏WinCloud前端工程师告诉你什么是UI扁平化
查看>>
如何压缩PDF文件,有什么简单的方法
查看>>
SpringMVC常用注解标签详解
查看>>
day18 Set集合
查看>>
Oracle event之db file read
查看>>
ORA 00600 [ktrexc_1]
查看>>
Docker 安装
查看>>
查询文件系统容量与每个目录的容量
查看>>
角度与弧度的转换 - 三角学
查看>>
接口规范 3.应用相关接口
查看>>
traceroute命令
查看>>