美文网首页技术浅浅聊
.Net Core WebApi 使用NLog+MySQL自动化

.Net Core WebApi 使用NLog+MySQL自动化

作者: 喜欢孤独灬 | 来源:发表于2018-08-13 18:31 被阅读100次

    直接进入正题

    1、引入nuget包(注:这里我都是装的最新的包):

                                 Install-Package NLog -Version 4.5.8

                                 Install-Package NLog.Web.AspNetCore -Version 4.6.0

                                 Install-Package MySql.Data -Version 8.0.12

    2、新建log表,执行如下sql(这边其实也是可以配置,让NLog自动去生成NLog表,有兴趣的同学可以自己试试):

    CREATE TABLE `log` (

      `Id` int(10) unsigned NOT NULL AUTO_INCREMENT,

      `Application` varchar(50) DEFAULT NULL,

      `Logged` datetime DEFAULT NULL,

      `Level` varchar(50) DEFAULT NULL,

      `Message` text DEFAULT NULL,

      `UserName` varchar(512) Default Null,

      `ServerName` text Default Null,

      `Url` text NULL,

      `RemoteAddress` nvarchar(100) NULL,

      `Logger` text DEFAULT NULL,

      `Callsite` text DEFAULT NULL,

      `Exception` text DEFAULT NULL,

      PRIMARY KEY (`Id`)

    ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

    3、包引入之后,会生成一个NLog.config文件,NLog几乎所有操作都是通过这个配置文件完成的,我们在targets节点添加一个新的target,如图:不难看出其实它配置了数据库连接字符串,以及插入的log表的sql语句。

    4、设置记录日志规则(这里我入库最小规则是Error,看业务需求自己定):

    5、NLog服务依赖注入(StartUp.cs):

    6、配置web请求(Program.cs),这一步如果不配置的话,相关的url,ip这些都会没有数据的:

    7、结果:

    8、总结,个人感觉,其实这个方式的原理跟直接使用Ado.net自己建表维护日志没多大差别,优势就是:直接全部通过配置完成,高效,低成本

    相关文章

      网友评论

        本文标题:.Net Core WebApi 使用NLog+MySQL自动化

        本文链接:https://www.haomeiwen.com/subject/rmgubftx.html