辽宁网站建设熊掌号,公司的分类,普宁建设局网站,网上做推广怎么收费Net Core平台灵活简单的日志记录框架NLogSqlServer初体验 前几天分享的[Net Core平台灵活简单的日志记录框架NLogMysql组合初体验][http://www.cnblogs.com/yilezhu/p/9416439.html] 反响还行。有网友就说有了NLogMySql的组合#xff0c;那如果我是用SqlServer怎么…Net Core平台灵活简单的日志记录框架NLogSqlServer初体验 前几天分享的[Net Core平台灵活简单的日志记录框架NLogMysql组合初体验][http://www.cnblogs.com/yilezhu/p/9416439.html] 反响还行。有网友就说有了NLogMySql的组合那如果我是用SqlServer怎么使用NLog呢于是乎这篇“Net Core平台灵活简单的日志记录框架NLogSqlServer初体验”就诞生了关于记录到文本文件里面的方法上篇文章也已经说明了。而且NLogSqlServer的组合跟NLogMySql的组合使用方法很类似知识配置不一样。因此这篇文章会很精简直接讲使用了 作者依乐祝 本文地址https://www.cnblogs.com/yilezhu/p/9451282.html NLogSqlServer的组合在Net Core中怎么用啊 关于怎么安装使用请看我的上篇文章“[Net Core平台灵活简单的日志记录框架NLogMysql组合初体验][http://www.cnblogs.com/yilezhu/p/9416439.html]”。用法一样只是如果你需要把MySql的程序集改成“System.Data.SqlClient”.依赖项截图如下所示 打开Nlog.config文件把NLog的配置修改成如下所示。我写的只是参考大家可以自由发挥 ?xml version1.0 encodingutf-8 ?
nlog xmlnshttp://www.nlog-project.org/schemas/NLog.xsdxmlns:xsihttp://www.w3.org/2001/XMLSchema-instanceautoReloadtruethrowExceptionstrueinternalLogLevelwarninternalLogFilelogfiles/internal-nlog.txttargetstarget xsi:typeNull nameblackhole /target namedatabase xsi:typeDatabasedbProviderSystem.Data.SqlClientconnectionStringData Source127.0.0.1;Initial CatalogMiddleData;User IDlzhu;Passwordbl123456;!--
create table NLog (Id int identity,Application nvarchar(50) null,Logged datetime null,Level nvarchar(50) null,Message nvarchar(512) null,Logger nvarchar(250) null,Callsite nvarchar(512) null,Exception nvarchar(512) null,constraint PK_NLOG primary key (Id)
)--commandTextinsert into nlog (Application, Logged, Level, Message,Logger, CallSite, Exception) values (Application, Logged, Level, Message,Logger, Callsite, Exception);/commandTextparameter nameapplication layoutNLogTestDemo /parameter namelogged layout${date} /parameter namelevel layout${level} /parameter namemessage layout${message} /parameter namelogger layout${logger} /parameter namecallSite layout${callsite:filenametrue} /parameter nameexception layout${exception:tostring} //target/targetsrules!--Skip Microsoft logs and so log only own logs--logger nameMicrosoft.* minlevelTrace writeToblackhole finaltrue /logger nameNLogTestDemo.* minlevelInfo writeTodatabase //rules
/nlog上面的代码中我是以写入SqlServer为例进行的NLog配置。下面就可以进行简单地使用了。首先需要在。首先在Startup中的Configure中来加入中间件 public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory){if (env.IsDevelopment()){app.UseDeveloperExceptionPage();}//使用NLog作为日志记录工具loggerFactory.AddNLog();//引入Nlog配置文件env.ConfigureNLog(Nlog.config);//app.AddNLogWeb();app.UseMvc();}在Program中进行如下配置 public class Program{public static void Main(string[] args){CreateWebHostBuilder(args).Build().Run();}public static IWebHostBuilder CreateWebHostBuilder(string[] args) WebHost.CreateDefaultBuilder(args).UseNLog().UseStartupStartup();}下面就可以在代码中愉快的玩耍了 private readonly Logger nlog LogManager.GetCurrentClassLogger(); //获得日志实;// GET api/values[HttpGet]public ActionResultstring Get(){nlog.Log(NLog.LogLevel.Debug, $yilezhu测试Debug日志);nlog.Log(NLog.LogLevel.Info, $yilezhu测试Info日志);try{throw new Exception($yilezhu故意抛出的异常);}catch (Exception ex){nlog.Log(NLog.LogLevel.Error, ex, $yilezhu异常的额外信息);}return yilezhu的返回信息;}下面运行起来项目然到数据库里面就可以看到记录的日志信息如下所示 这里大家可能会问为什么没有Debug信息输出呢这是因为我们上面NLog配置设置的记录日志的最低级别为Info.所以比Info级别小的Debug信息不会记录。如果想记录的话就把这个级别设置成Debug或者比Debug小的Trace就可以记录了。如下图所示 源码下载 https://download.csdn.net/download/qin_yu_2010/10594141 总结 本文开头讲述了上篇关于“[Net Core平台灵活简单的日志记录框架NLogMysql组合初体验][http://www.cnblogs.com/yilezhu/p/9416439.html]”说起然后引出轻量级简单易用的NLogSqlServer组合并通过一个简单地api项目讲述了NLogSqlServer组合如何在Net Core中使用。以及SqlServer的建表语句。实例代码都跟上篇文章很相似。希望能对大家有所参考 转载于:https://www.cnblogs.com/yilezhu/p/9451282.html