【问题标题】:Logging to Eventlog from ASP.Net Core Web API fails从 ASP.Net Core Web API 记录到 Eventlog 失败
【发布时间】:2021-09-08 20:22:52
【问题描述】:

我对 ASP.Net Core 比较陌生,这个问题可能是缺乏知识。我正在开发一个 Web 服务,我需要它在生产中记录所有事件(信息及以上)的 Windows 事件日志。我已经使用 PowerShell 创建了一个事件源和一个日志:

New-EventLog -LogName CprNumberService -Source CprNumberService

我无法获得将信息事件记录到 Windows 事件日志的服务,只有警告及以上有效。所有其他记录器都工作得很好,我在 Debug 中看到了所有日志条目。

我尝试更改 appsettings 文件中的设置,这确实对调试日志提供程序有影响,但对事件日志没有影响。

这是我的 appsettings.json 文件:

appsettings.json
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.Hosting.Lifetime": "Information"
    }

还有 appsettings.Development.json

  "Logging": {
    "LogLevel": {
      "Default": "Trace",
      "Microsoft" :  "Information"
    }

在 Programs.cs 的 CreateHostBuild 类中,我注册日志如下:

            .ConfigureLogging(logging =>
            {

                // Remember to create windows log 
                // PS: New-EventLog -LogName CprNumberService -Source CprNumberService

                logging.ClearProviders();

                logging.AddDebug();
                logging.AddConsole();
                logging.AddEventLog(new EventLogSettings
                {
                    SourceName = "CprNumberService",
                    LogName = "CprNumberService"
                });

而在实际代码中,我的日志如下:

logger.LogInformation(LoggingEvents.CprSystemEvent, "CPR Web Service started up"); 

我确信我在这里遇到了一个菜鸟问题,并且我一直在谷歌上搜索很多东西,但到目前为止我还是一无所获。

非常欢迎提出建议和参考。

谢谢, 比亚恩

【问题讨论】:

  • 你试过使用 logging.AddEventSourceLogger() 吗?
  • 请以管理员身份运行visual studio并再次检查
  • .AddEventSourceLogger 用于事件跟踪,而不用于 Windows 事件日志。 [链接] (stackoverflow.com/questions/47773058/…)
  • 我尝试以管理员身份运行,没有区别。
  • 最奇怪的是,Windows 事件日志确实收到了所有使用 LogWarning 和 LogError 记录的事件,但没有收到 LogInformation。

标签: c# asp.net-core


【解决方案1】:

尝试使用 Filter 属性添加日志级别信息:

logging.AddEventLog(new EventLogSettings
{
    SourceName = "CprNumberService",
    LogName = "CprNumberService",
    Filter = (source, level) => level >= LogLevel.Information
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-15
    • 2017-01-16
    • 2017-06-07
    • 2018-03-24
    • 2022-01-02
    • 2022-01-14
    • 2018-07-18
    相关资源
    最近更新 更多