gpt4 book ai didi

asp.net-core - 为什么事件日志提供程序的事件查看器中没有出现任何条目?

转载 作者:行者123 更新时间:2023-12-03 23:35:29 26 4
gpt4 key购买 nike

我在 Windows 10 Enterprise x64 计算机上使用非托管应用程序池将 dotnet core 3.1 Web API 发布到 IIS。

我正在尝试像这样配置 EventLog 提供程序...

.ConfigureLogging(logging =>
{
logging.ClearProviders();
logging.AddEventLog(new EventLogSettings { LogName = "Web API ABC"
}

...但是当我执行 logger.LogInformation("can you see me?");

时,事件查看器中没有显示任何内容

这是appsettings.jsonprogram.csController

appsettings.json

{
"Logging": {
"LogLevel": {
"Default": "Debug",
"Microsoft": "Debug",
"Microsoft.Hosting.Lifetime": "Debug"
}
},
"EventLog": {
"LogLevel": {
"Default": "Debug"
}
}
}

Program.cs

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

public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureLogging(logging =>
{
logging.ClearProviders();
logging.AddConsole();
logging.AddEventLog(new Microsoft.Extensions.Logging.EventLog.EventLogSettings { LogName = "Web API ABC" });
})
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}

Controller :

  [ApiController]
[Route("[controller]")]
public class MyGreatController : ControllerBase
{
private IConfiguration config;
private readonly ILogger<MyGreatController> logger;

public MyGreatController(IConfiguration _config, ILogger<MyGreatController> _logger)
{
config = _config;
logger = _logger;
}

[HttpGet]
[Route("hello")]
public string HelloWorld()
{
logger.LogInformation("can you see me?");
return "hello world";
}
}

最佳答案

您需要在运行应用程序的服务器上创建自定义事件日志源 Web API ABC(一次性设置),然后才能向其写入日志。

这是使用 PowerShell 创建事件日志源的示例:

$ErrorActionPreference = "Stop"

$sourceExists = [System.Diagnostics.Eventlog]::SourceExists("Web API ABC")
if ($sourceExists -eq $false){
[System.Diagnostics.EventLog]::CreateEventSource("Web API ABC", "Application")
}

关于asp.net-core - 为什么事件日志提供程序的事件查看器中没有出现任何条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60460434/

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