2016-05-08 5 views
6

Ich versuche Nachricht vie die nächsten Möglichkeiten zu drucken:Asp.net Kern + IIS Express. So zeigen Sie Protokollnachrichten an

Console.WriteLine("Hello World!"); 

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

Aber wo kann ich diese Nachrichten sehen?

Ausgabefenster enthält diese Nachrichten nicht.

Wenn ich Projekt als Web ausführen, führen Sie DNX-Konsole, wo ich diese Nachrichten sehen kann. Aber es ist nicht bequem.

Aber wenn ich Projekt als IIS Express ausführen sehe ich weder noch Konsole, noch Nachrichten.

Gibt es eine Möglichkeit, diese Nachrichten in Visual Studio anzuzeigen?

Antwort

4

können Sie die Debug listener verwenden, um zu erreichen, was Sie wollen:

"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. Jetzt verstehe ich. Es gibt Anbieter, die die Ausgabe an verschiedene Ausgabeströme bereitstellen. – wishmaster35

+1

Sehr hilfreich; um einen Kontext hinzuzufügen: das JSON-Snippet muss in die Datei 'project.json' integriert werden, und das C# -Snippet typischerweise in die' Config() '-Methode der Klasse' Startup.cs'. – mklement0

1

Zum Dokumente =>IISExpress =>Logs.

Dies ist, was Sie suchen.

+2

Meinst du DATEI.log oder Visual Studio-Fenster? Ich habe C: \ Benutzer \ Benutzername \ Documents \ IISExpress \ Logs \ Site \ *. Logs gefunden, aber selbst dort sehe ich meine Nachrichten nicht. – wishmaster35

+0

Worauf Sie verweisen, sind die _IIS Express_-Protokolle, nicht das, was der Benutzercode protokolliert. – mklement0

1

IIS Express wird seine Protokolle nicht in das Ausgabefenster von Visual Studio ausgeben.

Sie müssen einen anderen Protokollanbieter verwenden.

Schreiben Sie es in eine Protokolldatei. Sie können eine Bibliothek für das, zum Beispiel verwenden 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(); 

Sie werden this NuGet Paket.

+0

Es ist schlecht. Sogar NetBeans konnte Glasfische protokollieren. Vielleicht gibt es ein Plugin, um VS mit IIS Express zu verbinden? – wishmaster35