2015-05-24 13 views
12

Korzystanie z Visual Studio 2015 RC i ASP.Net vNext/5 beta4. Chciałbym wyprowadzać logowanie do okna wyjściowego w Visual Studio podczas debugowania lub, jeśli to możliwe, do okna konsoli hostującego witrynę podczas korzystania z WebListener. Mój projekt internetowy jest zbudowany na standardowym szablonie z pudełka dla aplikacji sieciowej, więc zawiera większość domyślnych rzeczy.Sposób logowania do okna Output za pomocą ASP.Net vNext/5

W moim Startup mam zwykle domyślną

loggerfactory.AddConsole(); 

w moim kontrolera I wstrzyknąć ILoggerFactory i zrobić coś takiego;

this.logger = loggerFactory.CreateLogger<ThingClass>(); 
this.logger.LogVerbose("Verbose"); 
this.logger.LogInformation("Info"); 
this.logger.LogError("error"); 

Żaden, który pobiera wypisywane do okna Debug lub gdzie indziej - nie jestem pewien, co AddConsole() ma osiągnąć tutaj?

Potem próbował dodać Microsoft.Framework.Logging.TraceSource do project.json i

loggerfactory.AddTraceSource(new SourceSwitch("web-app", "Verbose"), new DefaultTraceListener()); 

do Startup. To faktycznie działa - z tą różnicą, że każda wiadomość logiczna jest zapisywana na konsoli dwukrotnie, co jest dość irytujące.

Oczywiście brakuje mi czegoś fundamentalnego, ale nie mogę znaleźć żadnej dokumentacji na temat nowego Microsoft.Framework.Logging. W rzeczywistości najbardziej wszechstronną i dogłębną dokumentacją, którą udało mi się wyśledzić, jest krótki artykuł Nicholasa Blumhardta: http://nblumhardt.com/2015/05/diagnostic-logging-in-dnx-asp-net-5/.

I do rozumiem, że framework ma być jedynie otoką i że mogę wdrażać własnych dostawców, a także korzystać z szeregu frameworków takich jak Serilog itp. Ale ... dla prostej aplikacji z pewnością powinienem być w stanie zalogować się do okna debugowania w VS bez dużej ilości ceremonii?

+0

dobrym pokryciu tutaj http://www.tugberkugurlu.com/archive/logging -w-owin-world-with-microsoft-owin - wprowadzenie – JJS

+0

@JJS dzięki, to jest interesujące! Wygląda na to, że chodzi o odpowiednik w OWIN, zamiast vNext/5. Ale jestem pewien, że są rzeczy, które mogę być w stanie ekstrapolować od jednego do drugiego, ponieważ nowy prawdopodobnie ewoluował od tego, więc dziękuję :) – Frans

+0

vNastępnie/5 używa OWIN. Nie są całkowicie różne. – JJS

Odpowiedz

3
+2

Ten link jest już martwy. –

+0

Teraz jest żywy :) – davidfowl

+0

Aby opracować nieco - wystarczy dodać loggerFactory.AddDebug (LogLevel.Information); w Configure() pliku Startup.cs umożliwia wyświetlenie instrukcji SQL wygenerowanych przez EF w wynikach debugowania Visual Studio. Dzięki, davidfowl! – ctorx

-1

Mamy z powodzeniem przy użyciu:

Debug.WriteLine("Whatever I want to log to Output goes here..."); 

z

System.Diagnostics 
Powiązane problemy