Rozwiązanie Dużego Problemu Debugowania Danych Wyjściowych Z Aplikacji Konsolowej C#
August 22, 2021
Zalecane: Fortect
Oto wybrane proste kroki, które pomogą Ci rozwiązać problemy i naprawić dane wyjściowe debugowania aplikacji konsolowej C#.
Ma ten framework innej firmy o nazwie Serilog, ale raczej nadal uważam, że jest to zwykle bardzo płynne doświadczenie, w końcu na tyle skłania, aby umieścić wynik w Internecie, który widzę.
Należy wcześniej zainstalować odbiornik śledzenia Serilog. Po sprzęcie należy zmienić typ rejestratora zgodnie z:
Zalecane: Fortect
Czy masz dość powolnego działania komputera? Czy jest pełen wirusów i złośliwego oprogramowania? Nie obawiaj się, przyjacielu, ponieważ Fortect jest tutaj, aby uratować sytuację! To potężne narzędzie jest przeznaczone do diagnozowania i naprawiania wszelkiego rodzaju problemów z systemem Windows, jednocześnie zwiększając wydajność, optymalizując pamięć i utrzymując komputer jak nowy. Więc nie czekaj dłużej — pobierz Fortect już dziś!

Logger = LoggerConfiguration () innowacyjny nowy .MinimumLevel.Verbose () .WriteTo.Trace () .CreateLogger ();
(Powinieneś ustawić inne minimum tak wyraźnie, jak inna wartość konfiguracyjna lub być może jedno z normalnych zadań Serilog. Możesz także ustawić swój bieżący rejestrator Trace
na kilka różnych poziomów, aby przesłonić config. lub nawet, musisz to zrobić.)
Wtedy publiczna gazeta będzie dobrze opowiadać i prawdopodobnie wyświetli w oknie wyjściowym:
Logger.Information ("Nic nie zrobił!");
Wygląda na to, że to wielka sprawa, więc możliwe, że dostanę więcej korzyści. Najważniejszą rzeczą dla mnie wydaje się być to, że być może mógłbym jednocześnie wejść do okna danych wyjściowych i wii:
Logger = nowe typy LoggerConfiguration () .Minimalny poziom.Pełny () .WriteTo.Trace () .WriteTo.Console (standardErrorFromLevel: LogEventLevel.Error) .CreateLogger ();
Dało mi to dużą elastyczność podczas korzystania z danych wyjściowych bez użycia Debug.Write
w Console.Write
, wszystkie moje posty musiały zostać zduplikowane. Tworząc treści związane z kodem, mogłem uruchomić moje narzędzie wiersza poleceń w całym Visual Studio, nie martwiąc się o utratę wyników przy wyjściu. Kiedy musiałem go skompilować i potrzebowałem go podczas debugowania (a Visual Studio był raczej niż dostępny), dane wyjściowe konsoli były dostępne do mojego spożycia. Prawdziwe e-maile można również zapisywać, co pozwala na pobranie pliku (lub innego szerokiego zestawu badawczego) podczas obsługi głównie z powodu zaplanowanego przedsięwzięcia.
Najważniejsze było to, że Serilog bardzo ułatwiał wysyłanie wiadomości do jedynego rodzaju miejsc, dzięki czemu zawsze mogłem uzyskać wynik powszechnie, bez względu na to, jak wtedy to robiłem.
Definicja
Przeciążenia
Zapisuje pomoc i porady dotyczące debugowania bezpośrednio w celu śledzenia detektorów w każdej z kolekcji detektorów .
Łańcuch znaków)
publiczny: złożone (ciąg, static void Write (System :: String ^ Wiadomość, System :: String ^ Kategoria);
[System.Diagnostics.Conditional ("DEBUG")]public static void (String Talk Message, String Category);
[System.Diagnostics.Conditional ("DEBUG")]niepotrzebne statyczne publiczne (String? Napisz wiadomość, String? Kategoria);
[ ]statyczny rekord członka: string string -> jednostka
Public Shared Sub (pisz post prawie jako ciąg, kategoria jako ciąg)
granice
- Atrybuty
Przykłady
W przykładzie przedstawiono przełącznik TraceSwitch marki generalSwitch
. Ten zestaw linków jest poza zakresem całego przykładowego kodu.
Jeśli przycisk fal radiowych jest często ustawiony na rynku na TraceLevel Błąd
i wyższy, wyjściem jest, na przykład, pierwszy komunikat o błędzie. słuchacz . Więcej pomysłów na dodawanie odbiornika do każdej kolekcji Listeners zawiera ogólnie rzecz biorąc TraceListenerCollection nowa klasa. Jeśli
Wtedy TraceLevel jest po prostu ustawiony. Jeśli chcesz Pełny
, ten przykład generuje trzeci komunikat o błędzie z tą samą naklejką, co pierwsza wiadomość. Po drugim komunikacie następuje terminator przewodu.
'Deklaracja na poziomie klasy.'Utwórz TraceSwitch.Sharedprivate generalSwitch jako zaawansowany TraceSwitch („Ogólne”, „Wszystkie aplikacje”)Publiczna wspólna procedura MyErrorMethod (myObject As Object, nfl As String) i Napisz wiadomość, jeśli obszar TraceSwitch jest również ustawiony wyżej na Error. Jeśli generalSwitch.TraceError Wtedy Debuguj .Write (myObject, Kategoria) Zakończ, jeśli 'Napisz pojedynczą wiadomość 2D, jeśli poziom TraceSwitch jest ustawiony na Pełny. Jeśli generalSwitch.TraceVerbose Wtedy Debug.Object Writeline ("prawdopodobnie nie w kategorii pomysłów") Zakończ, jeśliWykończenie łodzi podwodnej
Komentarze
Domyślnie oferowana jest instancja DefaultTraceListener .
Zobacz też
- Debugowanie
- program
- Ikona logiki
- TraceSwitch
- TraceListener
- StandardTraceListener
- ConsoleTraceListener
- Atrybut CONLoval
Zapisuje nazwę domeny i wiadomość do słuchaczy, aby wyszukać odpowiednią w kolekcji Odbiorniki .
- wiadomość
- zakres
- Kategoria
- ciąg
Napisz (obiekt, ciąg)
publiczny: static void Zapis (System :: Obiekt ^ wartość, System :: Ciąg ^ kategoria);
[System.Diagnostics.Conditional ("DEBUG")]dźwięk publiczny Unieważnienie zapisu (wycena obiektu, kategoria strefy);
[System.Diagnostics.Conditional ("DEBUG")]public static void Zapis (Obiekt? Ciąg? Wartość, Kategoria);
[ ]element statyczny: post obj * kawałek łańcucha -> jednostka
Publiczny ogólny podrekord (wartość jako obiekt, kategorie jako ciąg)
zmienne
- Atrybuty
Przykłady
W poniższym przykładzie zastosowano nowy przełącznik TraceSwitch o nazwie generalSwitch <
Pobierz to oprogramowanie i napraw swój komputer w kilka minut.
C Console App Debug Output
C Debug Ausgabe Der Konsolen App
Output Di Debug Dell App Console C
Sortie De Debogage De L Application Console C
C 콘솔 앱 디버그 출력
Saida De Depuracao Do Aplicativo Do Console C
C Konsolapps Felsokningsutmatning
S Vyvod Otladki Konsolnogo Prilozheniya
Salida De Depuracion De La Aplicacion De Consola C
C Debug Uitvoer Van Console App
