Abp vNext 禁用数据库日志

Abp vNext 禁用数据库日志

使用Abp vNext 6.0

在abp创建的数据库里有四张表是跟日志有关的

  • AbpAuditLogs:审计日志,记录网络请求的
  • AbpSecurityLogs:安全日志,记录登录日志的
  • OpenIddictAuthorizations:OpenIddict记录登录操作的
  • OpenIddictTokens:OpenIddict记录token的,access_token和refresh_token

禁用审计日志

ConfigureServices里调用

private void ConfigureAuditing(ServiceConfigurationContext context, IConfiguration configuration)
{
    Configure<AbpAuditingOptions>(options =>
    {
        options.IsEnabled = false;//关闭审计日志
    });
}

禁用安全日志

ConfigureServices里调用

private void ConfigureSecurityLog(ServiceConfigurationContext context, IConfiguration configuration)
{
    Configure<AbpSecurityLogOptions>(options =>
    {
        options.IsEnabled = false;//关闭安全日志
    });
}

禁用OpenIddict日志

public override void PreConfigureServices(ServiceConfigurationContext context)
{
    PreConfigure<OpenIddictBuilder>(builder =>
    {
        //配置OpenIddict
        builder.AddServer(options =>
        {
            //禁用OpenIddictTokens
            options.DisableTokenStorage();

            //禁用OpenIddictAuthorizations
            options.DisableAuthorizationStorage();
        });
    });
}

关于这两个OpenIddict的选项,注解里说是用来撤销令牌、刷新令牌和有效期什么的,但是根据abp之前IdentityServer4的奇怪操作来说,感觉不是那么好用,我是写中间件代替了,所以不想用这个

Serilog

Serilog是abp自带的日志操作,上面那种日志其实不太用得上,占用空间也不少,文件日志系统就够用了

大致配置是这样

"Serilog": {
  "MinimumLevel": {
    "Default": "Information",
    "Override": {
      "Microsoft": "Information",
      "Microsoft.EntityFrameworkCore": "Warning"
    }
  },
  "WriteTo": [
    { "Name": "Console" },
    {
      "Name": "File",
      "Args": {
        "path": "Logs/logs.txt",
        "rollingInterval": "Day",
        "retainedFileCountLimit": null
      }
    }
  ],
  "Enrich": [ "FromLogContext" ]
}

然后在主函数里加上UseSerilog就行

 builder.Host.AddAppSettingsSecretsJson()
     .UseAutofac()
     .UseSerilog();

Abp vNext 禁用数据库日志结束

posted @ 2023-12-06 16:03  .NET好耶  阅读(338)  评论(0编辑  收藏  举报