记录 LogLevel - Windows 事件日志中未显示信息
Logging LogLevel-Information not showing in Windows event log
我 运行 在记录 **信息** 到 Windows 事件日志时遇到了一些问题。
从空白开始 ASP.NET Core-Web-API .Net 5
我将以下内容编辑为 Program.cs
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.ConfigureLogging((hostingContext, logging) =>
{
logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
logging.AddEventLog(eventLogSettings =>
{
eventLogSettings.SourceName = "MyTestLog";
});
});
webBuilder.UseStartup<Startup>();
});
并将一些示例日志写入控制器
public IEnumerable<WeatherForecast> Get()
{
_logger.LogCritical("Critical Log");
_logger.LogError("Error Log");
_logger.LogWarning("Warning Log");
_logger.LogInformation("Info Log");
_logger.LogDebug("Debug Log");
_logger.LogTrace("Trace Log");
...
}
如果我 运行 它,它会在控制台中显示严重 - 错误 - 警告 - 信息的日志。匹配 AppSettings 中的配置。
appsettings.json:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
}
}
在 Windows 事件日志中它只显示严重、错误和警告日志,不关心我的应用程序设置。
我确定这是一个简单的配置问题,但我找不到任何相关文档。
如何在 Windows 事件日志中获取包含日志级别信息的日志?
根据这个 article,您可以发现 asp.net 核心提供了事件记录功能。与其他提供程序不同,EventLog 提供程序不继承默认的 non-provider 设置。
如果未指定 EventLog 日志设置,它们默认为 LogLevel.Warning。
要记录低于 LogLevel.Warning 的事件,明确设置日志级别。以下示例将事件日志默认日志级别设置为 LogLevel.Information:
"Logging": {
"EventLog": {
"LogLevel": {
"Default": "Information"
}
}
}
我 运行 在记录 **信息** 到 Windows 事件日志时遇到了一些问题。
从空白开始 ASP.NET Core-Web-API .Net 5
我将以下内容编辑为 Program.cs
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.ConfigureLogging((hostingContext, logging) =>
{
logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
logging.AddEventLog(eventLogSettings =>
{
eventLogSettings.SourceName = "MyTestLog";
});
});
webBuilder.UseStartup<Startup>();
});
并将一些示例日志写入控制器
public IEnumerable<WeatherForecast> Get()
{
_logger.LogCritical("Critical Log");
_logger.LogError("Error Log");
_logger.LogWarning("Warning Log");
_logger.LogInformation("Info Log");
_logger.LogDebug("Debug Log");
_logger.LogTrace("Trace Log");
...
}
如果我 运行 它,它会在控制台中显示严重 - 错误 - 警告 - 信息的日志。匹配 AppSettings 中的配置。
appsettings.json:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
}
}
在 Windows 事件日志中它只显示严重、错误和警告日志,不关心我的应用程序设置。 我确定这是一个简单的配置问题,但我找不到任何相关文档。
如何在 Windows 事件日志中获取包含日志级别信息的日志?
根据这个 article,您可以发现 asp.net 核心提供了事件记录功能。与其他提供程序不同,EventLog 提供程序不继承默认的 non-provider 设置。
如果未指定 EventLog 日志设置,它们默认为 LogLevel.Warning。
要记录低于 LogLevel.Warning 的事件,明确设置日志级别。以下示例将事件日志默认日志级别设置为 LogLevel.Information:
"Logging": {
"EventLog": {
"LogLevel": {
"Default": "Information"
}
}
}