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();