淮南招聘網(wǎng)站建設搜索引擎技術優(yōu)化
Abp6.0中已經(jīng)啟用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.GetCurrentDirectory()).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"}}}]}
我們需要創(chuàng)造,也需要借鑒,畢竟站在巨人的肩膀上才會更高