2016-05-08 32 views
6

Próbuję wydrukować wiadomość vie kolejne sposoby:Asp.net core + IIS Express. Jak wyświetlić komunikaty dziennika?

Console.WriteLine("Hello World!"); 

loggerFactory.MinimumLevel = LogLevel.Debug; 
loggerFactory.AddConsole(LogLevel.Debug); 
var logger = loggerFactory.CreateLogger("Startup"); 
logger.LogWarning("Hi!"); 

Ale gdzie mogę zobaczyć to wiadomości?

Okno wyjściowe nie zawiera tych komunikatów.

Jeśli uruchomię projekt jako WWW, uruchom konsolę dnx, w której mogę zobaczyć te wiadomości. Ale nie jest to wygodne.

Ale jeśli uruchomię projekt jako IIS Express, nie widzę ani konsoli, ani wiadomości.

Czy można wyświetlić te wiadomości w programie Visual Studio?

Odpowiedz

4

Można użyć Debug listener, aby osiągnąć to, co chcesz:

"dependencies": { 
    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final" 
} 

Console.WriteLine("Hello World!"); 

loggerFactory.MinimumLevel = LogLevel.Debug; 
loggerFactory.AddDebug(LogLevel.Debug); 
var logger = loggerFactory.CreateLogger("Startup"); 
logger.LogWarning("Hi!"); 
+0

Ok. Teraz rozumiem. Istnieją dostawcy, którzy dostarczają dane wyjściowe do różnych strumieni wyjściowych. – wishmaster35

+1

Bardzo pomocny; aby dodać trochę kontekstu: fragment kodu JSON musi być zintegrowany z plikiem 'project.json', a fragment C# z typową metodą' Config() 'klasy' Startup.cs'. – mklement0

1

idź do Dokumenty =>IISExpress =>kłody.

To jest to, czego szukasz.

+2

masz na myśli file.log lub Visual Studio okno? Znalazłem logi w C: \ Users \ User-Name \ Documents \ IISExpress \ Logs \ Site \ *. Log, ale nawet tam nie widzę moich wiadomości. – wishmaster35

+0

Wskazuje się logi _IIS Express_, a nie to, co loguje użytkownik. – mklement0

1

Usługi IIS Express nie będą wyprowadzać dzienników do okna wyjściowego programu Visual Studio.

Musisz użyć innego dostawcy dzienników.

Zapisz go w pliku dziennika. Można korzystać z biblioteki za to, na przykład Serilog:

using Serilog; 

public class Startup 
{ 
    public Startup(IHostingEnvironment env) 
    { 
     Log.Logger = new LoggerConfiguration() 
      .WriteTo.File("log.txt") 
      .CreateLogger(); 
... 
public void Configure(IApplicationBuilder app, IHostingEnvironment env, 
         ILoggerFactory loggerFactory) 
    { 
     loggerFactory.AddSerilog(); 

Musisz this NuGet pakietu.

+0

To jest złe. Nawet NetBeans może pokazywać dzienniki Glass Fish. Może jest wtyczka do połączenia VS z IIS Express? – wishmaster35

Powiązane problemy