2017-12-12 9 views
1

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

lesen

hinzufü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?

+1

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

Antwort

1
logging.AddEventSourceLogger() 

ist für Event Tracing.

Für die , die Sie verwenden möchten:

logging.AddEventLog() 
+0

Seine Art von auf diese spezifische Frage und Antwort bezogen. Wie auch immer, ich habe dies von der Package Manager Console "Install-Package Microsoft.Extensions.Logging.EventLog -Version 2.0.0" ausgeführt und kann es jetzt sehen. – JsonStatham

+0

Der https://docs.microsoft.com/en-us/aspnet/core/fundamentals/logging/?tabs=aspnetcore2x#eventlog Link in meiner Antwort enthält einen Link zum benötigten NuGet-Paket. – mjwills