2016-05-08 32 views
6

sto cercando di stampare un messaggio contendono i prossimi modi:Asp.net core + IIS Express. Come visualizzare i messaggi di registro?

Console.WriteLine("Hello World!"); 

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

Ma dove posso vedere questo messaggio?

La finestra di output non contiene questi messaggi.

Se eseguo il progetto come Web, esegue la console dnx in cui è possibile visualizzare questi messaggi. Ma non è conveniente.

Ma se eseguo il progetto come IIS Express non vedo né console né messaggi.

C'è modo di visualizzare questi messaggi in Visual Studio?

risposta

4

È possibile utilizzare il Debug listener per ottenere ciò che si vuole:

"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. Ora capisco. Esistono provider che forniscono output a diversi flussi di output. – wishmaster35

+1

Molto utile; per aggiungere un contesto: lo snippet JSON deve essere integrato nel file 'project.json' e lo snippet C# in genere nel metodo' Config() 'della classe' Startup.cs'. – mklement0

1

Vai a Documenti =>IISExpress =>Tronchi.

Questo è quello che stai cercando.

+2

vuoi dire file.log o Visual Studio Finestra? Ho trovato i registri in C: \ Users \ Nome utente \ Documenti \ IISExpress \ Logs \ Site \ *. Log ma anche lì non vedo i miei messaggi. – wishmaster35

+0

Quello che stai indicando sono i log _IIS Express_, non ciò che il codice utente registra. – mklement0

1

IIS Express non trasmetterà i suoi registri alla finestra di output di Visual Studio.

È necessario utilizzare un provider di registri diverso.

Scrivilo in un file di registro. È possibile utilizzare una libreria per che, ad esempio 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(); 

Avrete bisogno this NuGet pacchetto.

+0

È male. Anche NetBeans potrebbe mostrare i log di Glass Fish. Forse c'è un plugin per connet VS su IIS Express? – wishmaster35