相信很多人会在程序内埋log以便问题的追查,尤其是线上的问题不能像开发时期可以设定中断点来debug,而且很多问题都是特殊操作方式才会造成的问题,因此日志的写入是一件很重要的事情。所以今天跟大家介绍如何写入日志。
「大头前辈,我遇到一个问题,但是我没办法透过设定中断点来debug耶,有没有甚麽方法可以debug。」
一大早小光因为昨晚在开发时遇到问题,所以一大早就跟大头请教如何处理问题的方法。这时大头因为手上专案都处理得差不多所以心情很好。
「那你有写Log吗,可以看看你Log的内容看有没有帮助。」
这时小光想一下,所以这样跟大头说。
「我有写耶,不过当程序结束後就看不到了,可是我又不能不把它关掉。」
大头似乎有点纳闷地看着小光,後来想到他的疑问点是甚麽了。
「难道...你用Console.WriteLine在写log。」
这时小光点点头,大头听到这答案差点没昏倒,不过大头很镇定的跟他说。
「来吧,我们来学学NLog。」
一如往昔的我们先来加载相依的套件,所以首先先输入以下的指令。
dotnet add package NLog.Web.AspNetCore
dotnet add package NLog.Config
接下来我们开始处理专案所需的程序码。
在加载相依套件後要再Program.CreateHostBuilder
加入以下内容。
.UseNLog();
没错就是这麽简单,接下来看写日志的地方该怎麽写。
当认识了DI之後写日志就方便多了,因为连日志都是由注入的方式,而且使用的是Microsoft.Extensions.Logging.Abstractions
的ILogger
,所以也没有直接相依NLog所以使用方式如下所示。
public WeatherForecastController(ILogger<WeatherForecastController> logger)
{
_logger = logger;
}
所以接下来要写log时就透过_logger
使用下列指令来写即可。
如此就可以写入日志了,这里还有一个要注意的地方,这些方法还有个多载可以传Exception进去,如果有Exception可以使用该方法,最後可以参考NLog Config来设定日志的样式。
今天主要是介绍如何透过NLog把日志写到log档内,相信对各位线上的问题盘查有很大的帮助。
配置信息: CPU:E5 2680 V3 主板:华南 X99-F8 内存:SK 16G x2 显卡:...
拇指法则 “拇指法则”是资深交互设计大神Steven Hoober在2013年对1300名手机用户的...
seaborn资料视觉化的强大套件 能有效率的配合pandas快速地让我们检视资料 我会跟Day11...
自从国高中我的房间出现了电脑,虽然是很废的文书机,但它还是在夜深人静的凌晨抚慰我睡不着的心情。方形的...
Google Apps Script 网站又改版了,Google 一直在发展这个平台,还会愈来愈好...