栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

.Net 日志系统-Windows日志

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

.Net 日志系统-Windows日志

Windows日志的查看方法:

.Net Core程序记录日志到Windows日志中,下面用代码来演示如何实现:

基于.Net Core WebApi 3.1程序

1.NuGet应用程序集:Microsoft.Extensions.Logging.EventLog

2.依赖注入:

 在Startup.cs文件的ConfigureServices类中,将EventLog注入到服务中。

            //注入EventLog
            services.AddLogging(logBulid=> {
                logBulid.AddEventLog();
            });

 

3.在需要记录日志的代码,注入ILogger 即可,T一般就是当前类的类名称,这个类的名字会输出到日志,方便定位问题。然后调用LogWarning()、LogError()等方法输出不同级别的日志。

 

 完整代码:

using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace WindowsLog.Controllers
{
    [ApiController]
    [Route("[controller]")]
    public class WeatherForecastController : ControllerBase
    {

        private readonly ILogger _logger;

        public WeatherForecastController(ILogger logger)
        {
            _logger = logger;
        }

        [HttpGet]
        public void Get()
        {
            _logger.LogDebug("我是Debug信息");
            _logger.LogInformation("我是info信息");
            _logger.LogWarning("我是Warning信息");
            _logger.LogError("我是error信息");
            _logger.LogCritical("我是Critical信息");
        }
    }
}

执行结果:

 

这里只记录了LogWarning、LogError、LogCritical三个级别的日志,其他的LogDebug、LogInformation等没有被记录到Windows日志中,这里目前我还不知道是什么原因。

我想到的是设置日志记录的级别,通过设置最小级别为Trace后,输出的日志仍没有LogDebug、LogInformation。也可能是Windows日志只能记录到Warning级别吧。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/954176.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号