郑州网站建站,西安市城乡建设网站,江苏建设工程信息网官网入口,免费企业网站建设流程Abp6.0中已经启用Serilog,使用Serilog.Sinks.MariaDB包可以保存到MariaDB#xff0c;mysql中
一种做法是在var loggerConfiguration new LoggerConfiguration( )后使用WriteTo.MariaDB扩展方法来配置#xff0c;这样在代码中配置不够灵活#xff0c;修改起来也不方便 其实…Abp6.0中已经启用Serilog,使用Serilog.Sinks.MariaDB包可以保存到MariaDBmysql中
一种做法是在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: Server192.168.1.1;Port12345;Databasexxxx;Uidxxx;Pwdxxxxxxxxx;,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}}}]}我们需要创造也需要借鉴毕竟站在巨人的肩膀上才会更高