在一次.Net Core小项目的开发中,掌握的不够深入,对日志记录并没有好好利用,以至于一出现异常问题,都得跑动服务器上查看,那时一度怀疑自己肯定没学好,不然这一块日志不可能需要自己扒服务器日志来查看,果然,很多东西没掌握,至此,花点时间看了下日志的相关操作。利用日志服务来查看日志数据。
本文地址:https://www.cnblogs.com/CKExp/p/9246788.html
本文Demo的地址:https://gitee.com/530521314/LogPanel.git
一、日志记录的原则
日志是为了方便我们观察应用程序是否正常运行,也是当运行不正常是,能够快速找到出现问题,定位问题的方式。
有几条日志记录原则是我们大多都得遵循的:
1、日志记录清晰,内容得让我们能够知道应用程序运行正常或运行不正常下能够有关键信息指明哪里出问题了。
2、不要过度记录,一些场景下我们需要预判是否需要记录日志信息,我们能够控制日志记录的数量,同样,日志内容,要精简记录,无关紧要的文字,废话等无需加入。
3、控制日志记录级别,或许在一个日志级别下记录了很多信息,可是其中的部分信息才是最为重要的,当调高一个记录级别,这部分最为重要的信息就展示出来了,那就直接调高级别吧。
4、隐私保护,日志虽然是让开发运维人员看到,可是我们也不能所有信息都记录下来,用户的隐私信息我们得保护好。
二、内置日志组件
Asp.Net Core中内置了日志组件,功能也很强大,首先来个简单示例:
直接使用内置日志功能,无需在startup中加入另外的代码。
1 private readonly ILogger<HomeController> _logger; 2 3 public HomeController(ILogger<HomeController> logger) 4 { 5 _logger = logger; 6 } 7 8 public IActionResult Index() 9 { 10 Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); 11 _logger.LogDebug($"开始监控整个网站的日志信息_{DateTime.Now}"); 12 //_logger.LogError($"开始监控整个网站的日志信息Error_{DateTime.Now}"); 13 return View(); 14 }