Ich habe ein Projekt mit .NET Framework ASP.NET Core 2.0 und wollen Protokollierung Windows-Ereignisprotokoll implementieren, wie i hereASP.NET Core-Event-Log-Provider
lesenhinzufügen Protokollanbieter
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";
}
}
Und es funktioniert für Konsole sehe ich meine Log-Meldungen. Aber ich kann diese Nachrichten nicht im Ereignisprotokoll mit der Ereignisanzeige finden. Warum?
Gibt es einen Grund, den Sie mit 'logging.AddEventSourceLogger()' 'statt logging.AddEventLog()' (wie in https vorgeschlagen: // docs.microsoft.com/en-us/aspnet/core/fundamentals/logging/?tabs=aspnetcore2x#eventlog)? – mjwills