基于.net core webapi和mongodb的日志系统

开发环境vs2017,数据写入到mongodb。思路就是1.提供接口写入日志,2.基于接口封装类库。

为什么要写它

很多开源项目像nlog、log4net、elk、exceptionless等都挺好的。就是除了引入所需类库,还要在项目中添加配置,不喜欢。elk在分布式海量数据收集和检索方面可能更能发挥它的优势,单纯记日志也可以,exceptionless就是基于elk的。就想着写一个简单易用的、可以发邮件报警的,直接引入类库就能用的一个记日志工具,所有的配置信息和入库都交给web api。这是当时问的问题,https://q.cnblogs.com/q/109489/。干脆就实现了先

接下里的代码可能有很多可以优化的地方,如果有些地方觉得不妥或者可以用更好的方式实现或组织代码,请告诉说,我改。另外实现完的接口没有加访问限制,先默认内网使用,当然有热心网友给出实现的话就更好了,像ip限制或者签名等等

一、实现Web Api

 新建.net core web api项目 【LogWebApi】

因为要发邮件和写入mongodb,先改配置文件appsettings.json

{ "ConnectionStrings": { "ConnectionString": "mongodb://yourmongoserver", "Database": "logdb", "LogCollection": "logdata" }, "AllowedHosts": "*", "AppSettings": { "SendMailInfo": { "SMTPServerName": "smtp.qiye.163.com", "SendEmailAdress": "发送人邮箱", "SendEmailPwd": "", "SiteName": "邮件主题", "SendEmailPort": "123" } } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyysdp.html