Abp6.0中已经启用Serilog,使用Serilog.Sinks.MariaDB包可以保存到MariaDB,mysql中
一种做法是在var loggerConfiguration = new LoggerConfiguration( )后使用WriteTo.MariaDB扩展方法来配置,这样在代码中配置不够灵活,修改起来也不方便
其实在Serilog.Sinks.MariaDB的github上很直接的提供了另外一种方式,通过配置文件来配置。这里需要使用Serilog.Settings.Configuration来读取配置文件。关于配置,其实是有默认配置形式的。短短几行代码就解决了问题,
//生成一个ConfigurationBuilder,把配置文件加进来
var configuration = new ConfigurationBuilder()
.SetBasePath(Directory.Get服务器托管网CurrentDirectory())
.AddJsonFile("appsettings.json")
.AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Production"}.json", true)
.Build();
var loggerConfiguration = new LoggerConfiguration( )
.ReadFrom.Configuration(configuration)//从文件中读取配置
配置文件的格式如下,具体含义请找官方文档:
"Serilog": {
服务器托管网"Using": [
"Serilog.Sinks.MariaDB"
],
"MinimumLevel": "Debug",
"WriteTo": [
{
"Name": "MariaDB",
"Args": {
"connectionString": "Server=192.168.1.1;Port=12345;Database=xxxx;Uid=xxx;Pwd=xxxxxxxxx;",
"autoCreateTable": true,
"tableName": "Logs",
"restrictedToMinimumLevel": "Warning",
"batchPostingLimit": 1000,
"period": "0.00:00:30",
"options": {
"PropertiesToColumnsMapping": {
"Exception": "Exception",
"Level": "Level",
"Message": "Message",
"MessageTemplate": "MessageTemplate",
"Properties": "Properties",
"Timestamp": "Timestamp"
},
"TimestampInUtc": true,
"ExcludePropertiesWithDedicatedColumn": true,
"EnumsAsInts": true,
"LogRecordsCleanupFrequency": "0.02:00:00",
"LogRecordsExpiration": "31.00:00:00"
}
}
}
]
}
我们需要创造,也需要借鉴,毕竟站在巨人的肩膀上才会更高
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
(为不影响大家的观感,完整题目附在了最后) 二叉搜索树的定义 二叉搜索树(BST,Binary Search Tree),也称二叉排序树或二叉查找树。 二叉搜索树:一棵二叉树,可以为空;如果不为空,满足以下性质: 非空左子树的所有键值小于其根结点的键值。 非空…