Ini membutuhkan kerangka kerja pihak ketiga, yaitu Serilog , tetapi saya tetap menganggapnya sangat lancar dengan mendapatkan output ke beberapa tempat yang bisa saya lihat.
Pertama-tama Anda harus menginstal wastafel Jejak Serilog . Setelah diinstal, Anda perlu mengatur logger seperti ini:
Logger = new LoggerConfiguration()
.MinimumLevel.Verbose()
.WriteTo.Trace()
.CreateLogger();
(Anda dapat mengatur level minimum yang berbeda atau mengaturnya ke nilai konfigurasi atau fungsi Serilog normal mana pun. Anda juga dapat mengatur Trace
logger ke level tertentu untuk mengganti konfigurasi, atau bagaimanapun Anda ingin melakukan ini.)
Kemudian, Anda cukup mencatat pesan secara normal dan muncul di jendela Output:
Logger.Information("Did stuff!");
Ini sepertinya bukan masalah besar, jadi izinkan saya menjelaskan beberapa manfaat tambahan. Yang terbesar bagi saya adalah saya bisa secara bersamaan masuk ke jendela Output dan konsol :
Logger = new LoggerConfiguration()
.MinimumLevel.Verbose()
.WriteTo.Trace()
.WriteTo.Console(standardErrorFromLevel: LogEventLevel.Error)
.CreateLogger();
Ini memberi saya fleksibilitas yang besar dalam hal bagaimana saya dikonsumsi output, tanpa harus menduplikasi semua panggilan saya untuk Console.Write
dengan Debug.Write
. Saat menulis kode, saya bisa menjalankan alat baris perintah di Visual Studio tanpa takut kehilangan output saat keluar. Ketika saya telah menggunakannya dan perlu men-debug sesuatu (dan tidak memiliki Visual Studio tersedia), output konsol sudah tersedia untuk konsumsi saya. Pesan yang sama juga dapat dicatat ke file (atau jenis sink lainnya) saat dijalankan sebagai tugas yang dijadwalkan.
Intinya adalah bahwa menggunakan Serilog untuk melakukan ini membuatnya sangat mudah untuk membuang pesan ke banyak tujuan, memastikan saya selalu dapat dengan mudah mengakses output terlepas dari bagaimana saya menjalankannya.
Ini juga membutuhkan pengaturan dan kode yang sangat minim.
Debug.WriteLine()