Mendapatkan log build dengan MSBuild
Dengan menggunakan opsi baris perintah dengan MSBuild, Anda dapat menentukan berapa banyak data build yang ingin Anda tinjau dan apakah Anda ingin menyimpan data build ke satu atau beberapa file. Anda juga dapat menentukan pencatat kustom untuk mengumpulkan data build. Untuk informasi tentang opsi baris perintah MSBuild yang tidak dibahas topik ini, lihat Referensi baris perintah.
Catatan
Jika Anda membangun proyek dengan menggunakan Visual Studio IDE, Anda dapat memecahkan masalah build tersebut dengan meninjau log build. Untuk informasi selengkapnya, lihat Cara: Menampilkan, menyimpan, dan mengonfigurasi file log build.
Tetapkan tingkat detail
Saat Anda membangun proyek menggunakan MSBuild tanpa menentukan tingkat detail, informasi berikut muncul di log output:
Kesalahan, peringatan, dan pesan yang dikategorikan sangat penting.
Beberapa peristiwa status.
Ringkasan build.
Dengan menggunakan sakelar -verbosity (-v), Anda dapat mengontrol berapa banyak data yang muncul di log output. Untuk pemecahan masalah, gunakan tingkat verbositas dari detailed
(d
) atau diagnostic
(diag
), yang memberikan informasi terbanyak.
Proses build mungkin lebih lambat ketika Anda mengatur -verbosity ke detailed
dan bahkan lebih lambat ketika Anda mengatur -verbosity ke diagnostic
.
msbuild MyProject.proj -t:go -v:diag
Pengaturan verbositas
Tabel berikut memperlihatkan bagaimana verbositas log (nilai kolom) memengaruhi jenis pesan (nilai baris) mana yang dicatat.
Jenis pesan / Verbosity | Tenang | Minimal | Normal | Terperinci | Ekstensi |
---|---|---|---|---|---|
Kesalahan | ✅ | ✅ | ✅ | ✅ | ✅ |
Peringatan | ✅ | ✅ | ✅ | ✅ | ✅ |
Pesan yang sangat penting | ✅ | ✅ | ✅ | ✅ | |
Pesan penting normal | ✅ | ✅ | ✅ | ||
Pesan dengan tingkat kepentingan rendah | ✅ | ✅ | |||
Informasi mesin MSBuild tambahan | ✅ |
Menyimpan log build ke file
Anda dapat menggunakan sakelar -fileLogger (fl) untuk menyimpan data build ke file. Contoh berikut menyimpan data build ke file bernama msbuild.log.
msbuild MyProject.proj -t:go -fileLogger
Dalam contoh berikut, file log diberi nama MyProjectOutput.log, dan verbositas output log diatur ke diagnostic
. Anda menentukan dua pengaturan tersebut dengan menggunakan sakelar -fileLoggerParameters (flp
).
msbuild MyProject.proj -t:go -fl -flp:logfile=MyProjectOutput.log;verbosity=diagnostic
Untuk informasi selengkapnya, lihat Referensi baris perintah.
Simpan output log ke beberapa file
Contoh berikut menyimpan seluruh log ke msbuild1.log, hanya kesalahan ke JustErrors.log, dan hanya peringatan untuk JustWarnings.log. Contohnya menggunakan nomor file untuk masing-masing dari tiga file. Nomor file ditentukan tepat setelah sakelar -fl dan -flp (misalnya, -fl1
dan -flp1
).
Sakelar -fileLoggerParameters (flp
) untuk file 2 dan 3 menentukan apa yang harus dinamai setiap file dan apa yang harus disertakan dalam setiap file. Tidak ada nama yang ditentukan untuk file 1, sehingga nama default msbuild1.log digunakan.
msbuild MyProject.proj -t:go -fl1 -fl2 -fl3 -flp2:logfile=JustErrors.log;errorsonly -flp3:logfile=JustWarnings.log;warningsonly
Jika Anda menggunakan shell yang menginterpretasikan titik koma (misalnya, bash), letakkan tanda kutip tunggal atau ganda di sekitar opsi apa pun yang memiliki titik koma untuk mencegahnya ditafsirkan sebagai pemisah perintah. Untuk informasi selengkapnya, lihat Referensi baris perintah.
Menyimpan log biner
Anda dapat menyimpan log dalam format biner terkompresi menggunakan sakelar -binaryLogger (bl). Log ini mencakup deskripsi terperinci tentang proses build dan dapat dibaca oleh alat analisis log tertentu.
Dalam contoh berikut, file log biner dibuat dengan nama binarylogfilename.
-bl:binarylogfilename.binlog
Anda dapat menggunakan penampil log Terstruktur untuk melihat log biner dengan cara yang membuatnya jauh lebih mudah untuk melihat apa yang terjadi.
Untuk informasi selengkapnya, lihat Referensi baris perintah.
Menggunakan pencatat kustom
Anda dapat menulis pencatat Anda sendiri dengan penulisan jenis terkelola yang mengimplementasikan ILogger antarmuka. Anda dapat menggunakan pencatat kustom, misalnya, untuk mengirim kesalahan build dalam email, mencatatnya ke database, atau mencatatnya ke file XML. Untuk informasi selengkapnya, lihat Membangun pencatat.
Di baris perintah MSBuild, Anda menentukan pencatat kustom dengan menggunakan sakelar -logger. Anda juga dapat menggunakan sakelar -noconsolelogger untuk menonaktifkan pencatat konsol default.