c# - ASP.NET Core 事件日志提供程序

标签 c# asp.net asp.net-web-api logging asp.net-core

我有一个使用 .NET Framework ASP.NET Core 2.0 的项目,并且想要实现记录到 Windows 事件日志,就像我读到的 here

添加日志提供者

public class Program
{
        public static void Main(string[] args)
        {
            BuildWebHost(args).Run();
        }

        public static IWebHost BuildWebHost(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
            .ConfigureLogging((hostingContext, logging) =>
            {
                logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
                logging.AddEventSourceLogger();
                logging.AddConsole();
            })
            .UseStartup<Startup>()
            .Build();
    }

Controller

[Route("api/[controller]")]
public class ShortCodeController : Controller
{
        private readonly ILogger _logger;

        public ShortCodeController(ILogger<ShortCodeController> logger)
        {
            _logger = logger;

            _logger.LogInformation("INIT");
        }

        [HttpGet("{letters}/{digits}/{length}")]
        public string Get(bool letters, bool digits, int length)
        {
            _logger.LogError("TEST");

            return "value";
        }
    }

它适用于控制台,我看到了我的日志消息。但我无法使用事件查看器在事件日志中找到该消息。为什么?

最佳答案

logging.AddEventSourceLogger()

用于 Event Tracing .

对于Event Log ,你想使用:

logging.AddEventLog()

关于c# - ASP.NET Core 事件日志提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47773058/

相关文章:

c# - HttpPostedFileBase 转换为 HttpPostedFile

c# - 等待 DeviceInformation.FindAllAsync(selector) 并引用 System.Runtime.WindowsRuntime 时出错

C# CPU 和 GPU 温度

c# - wpf 打破 Window.Grid

c# - 将 HttpRequestMessage 转换为 OwinRequest 并将 OwinResponse 转换为 HttpResponseMessage

authentication - Web API 2,OWIN 身份验证,SignOut 不注销

c# - 在更改第一个 ddl 时使用 jquery ajax 绑定(bind)下拉列表

asp.net - 选择器 <tr> 的 css 样式与 asp.net gridview

asp.net - gridview dataformatstring 自定义货币

c# - WEB API 2 身份 - 使用现有数据库