Serilog封装扩展并写入Mysql

Serilog是 .NET 中最著名的结构化日志类库。大多数情况下,中小型项目会将日志直接记录在一个对应的文件夹中比如Logs文件夹,并且可以按照日志的等级创建子文件夹比如errror、debug等等,再按照日期创建子文件最后按照日志文件大小上限做日志文件的划分。在一些大型项目中需要将日志写入数据库,文章讲述如何使用Serilog日志类库在mysql数据库中自动创建logs表并将日志写入表中。

vscode控制台中文乱码

vscode是现在较为流行的一款开发工具,他可以按照用户对应需要的语言插件进行自定义安装和配置,在使用vscode的过程中发现终端输出控制台输出稳重会出现中文乱码的情况,网上搜索很多的解决方案都是修改系统的GBK,但是发现在修改了GBK以后可能会造成其他程序出现中文乱码以及其他的一些问题,这里我们使用修改PowerShell的OutputEncoding来解决这个问题。仅win10系统测试有效。

IdentityServer结合Mysql

IdentityServer4 是为 Asp.Net Core 2.0+ 系列量身打造的一款基于 OpenID Connect 和 OAuth 2.0 认证框架,官网提供了对应持久化到SQL Server数据库的方法。但是在持久化到Mysql数据库时,会出现 Specified key was too long 的错误。我们可以通过重写 OnModelCreating 方法的方式解决问题。

vscode无法使用nuget的小问题

在使用vscode的过程使用NuGet Package Manager插件安装Package包的时候会出现 "Versioning information could not be retrieved from the NuGet package repository. " 的错误导致无法安装Package包,可以修改fetchPackageVersions.js解决问题。

关于net core动态加载配置文件的小问题

在我的项目当中配置文件较多,例如包括 项目自身的配置文件consul.configredis.cofingidentityServer.config 等等,要在项目启动的时候动态加载所有的配置文件。在我的项目中有 serverConfig 文件夹中有对应的所有的配置文件需要动态加载所有文件,在加载过程中发现按照文件路径无法加载 win10 环境。最后发现加载时不能使用绝对路径需要使用相对路径。