gpt4 book ai didi

c# - ILogger 接口(interface)未将所有内容记录到事件日志/核心 3.0

转载 作者:行者123 更新时间:2023-12-03 16:36:05 24 4
gpt4 key购买 nike

我正在尝试将我的应用程序输出的任何内容(包括信息消息)记录到事件日志中,但 ILogger 界面只在上面写入警告。

这是我的program.cs:

public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureLogging((context, logging) =>
{
logging.ClearProviders();
logging.AddConsole();
logging.AddEventLog(context.Configuration.GetSection("Logging:EventLog").Get<EventLogSettings>());
logging.SetMinimumLevel(LogLevel.Information);
});

我的 appsettings.json:
  "Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Information",
"Microsoft.Hosting.Lifetime": "Information"
},
"EventLog": {
"LogName": "Application",
"SourceName": "My cool App"
}
}

在我的应用程序中,我执行以下操作:
_logger.LogInformation("test information");
_logger.LogWarning("test warning");
_logger.LogDebug("test debug");
_logger.LogError("test error");
_logger.LogTrace("test trace");
_logger.LogCritical("test critical");

在控制台输出中,我收到所有测试消息。但在事件日志中,我只收到警告、错误和严重。

我在这里做错了什么?

最佳答案

in the event log I only get Warning, Error and Critical.



来自 this documentation ,您会发现将记录 的事件警告级别及以上 当我们使用 Microsoft.Extensions.Logging.EventLog .

记录低于 LogLevel.Warning 的事件,请明确设置日志级别,如下所示。
"EventLog": {
"LogLevel": {
"Default": "Trace"
}
}

此外,请注意 trace log messages可能包含敏感的应用程序数据,因此不应在生产环境中启用。

并且来自 EventLogLogger.cs的源代码如下,我们可以发现它会使用 资讯 , 警告 , 和 错误 作为基于 LogLevel 的 EventLog EntryType 来写入 EventLog(s)。
    private EventLogEntryType GetEventLogEntryType(LogLevel level)
{
switch (level)
{
case LogLevel.Information:
case LogLevel.Debug:
case LogLevel.Trace:
return EventLogEntryType.Information;
case LogLevel.Warning:
return EventLogEntryType.Warning;
case LogLevel.Critical:
case LogLevel.Error:
return EventLogEntryType.Error;
default:
return EventLogEntryType.Information;
}
}

测试结果
_logger.LogTrace("test trace1");

enter image description here

关于c# - ILogger 接口(interface)未将所有内容记录到事件日志/核心 3.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60833052/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com