Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Penyusun API Data (DAB) mendukung tingkat log yang difilter untuk mengontrol verbositas. Anda dapat mengatur tingkat global dan mengambil alih namespace atau kelas tertentu untuk diagnostik yang berfokus.
Pengaturan pengelogan dikonfigurasi di bagianruntime.telemetry.log-level konfigurasi Anda. Anda dapat menentukan tingkat log secara global atau menargetkan namespace atau kelas tertentu untuk kontrol terperinci.
Prasyarat
- File konfigurasi DAB yang ada.
Jalankan alat
Gunakan dab configure untuk mengatur tingkat log dalam file konfigurasi.
Mengonfigurasikan tingkat log
dab configure \
--runtime.telemetry.log-level.default Warning \
--runtime.telemetry.log-level.Azure.DataApiBuilder.Core Information \
--runtime.telemetry.log-level.Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator Debug
Mulai DAB.
dab start
Pengelogan pengujian
Kirim permintaan ke API Anda.
Konfirmasikan log cocok dengan tingkat yang dikonfigurasi.
Konfigurasi
log-level Tambahkan bagian di bawah runtime.telemetry dalam file konfigurasi Anda.
Prioritas tingkat log
Namespace layanan atau nama kelas yang paling spesifik diutamakan. Kunci default mengatur tingkat dasar untuk semua komponen lain yang tidak terdaftar secara eksplisit.
Jika dihilangkan, DAB menggunakan tingkat default berdasarkan mode host:
-
developmentsecara default keDebug. -
productionsecara default keError.
Tingkat log yang didukung
-
Trace: Informasi paling rinci, biasanya untuk pemecahan masalah mendalam. -
Debug: Informasi terperinci untuk mendiagnosis masalah selama pengembangan. -
Information: Peristiwa umum tingkat tinggi yang menjelaskan operasi normal. -
Warning: Situasi tak terduga atau masalah kecil yang mungkin memerlukan perhatian. -
Error: Kegagalan yang mencegah operasi berhasil diselesaikan. -
Critical: Masalah parah yang menyebabkan kegagalan sistem atau fitur utama. -
None: Nonaktifkan pengelogan untuk kategori atau komponen yang ditargetkan.
Kecocokan parsial nama namespace didukung tetapi harus berakhir di pemisah . . Contohnya:
Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidatorAzure.DataApiBuilder.Coredefault
Konfigurasi contoh
{
"runtime": {
"telemetry": {
"log-level": {
"Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator": "Debug",
"Azure.DataApiBuilder.Core": "Information",
"default": "Warning"
}
}
}
}
Dalam contoh ini, log dari RuntimeConfigValidator menggunakan Debug, kelas lain di bawah Azure.DataApiBuilder.Core menggunakan Information, dan semua log lainnya berdasarkan default ke Warning.
Command-line
Konfigurasikan tingkat log melalui dab configure.
--runtime.telemetry.log-level.default--runtime.telemetry.log-level.<namespace-or-class>
Example
dab configure \
--runtime.telemetry.log-level.default Warning \
--runtime.telemetry.log-level.Azure.DataApiBuilder.Core Information \
--runtime.telemetry.log-level.Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator Debug
Konfigurasi yang dihasilkan
{
"runtime": {
"telemetry": {
"log-level": {
"Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator": "Debug",
"Azure.DataApiBuilder.Core": "Information",
"default": "Warning"
}
}
}
}
Dukungan hot-reload
Anda dapat memperbarui tingkat log secara dinamis (hot-reload) dalam mode pengembangan dan produksi tanpa memulai ulang aplikasi. Ini membantu menyesuaikan pengelogan secara on-the-fly untuk memecahkan masalah.
Namespace penting untuk pemfilteran
Beberapa namespace dan kelas umum yang mungkin ingin Anda filter dan mengapa:
-
Azure.DataApiBuilder.Core.Configurations.RuntimeConfigValidator: Mendiagnosis masalah validasi konfigurasi dan kesalahan skema. -
Azure.DataApiBuilder.Core.Resolvers.SqlQueryEngine: Selidiki pembuatan kueri SQL dan perilaku eksekusi. -
Azure.DataApiBuilder.Core.Resolvers.IQueryExecutor: Lacak eksekusi dan waktu database untuk panggilan kueri. -
Azure.DataApiBuilder.Service.HealthCheck.ComprehensiveHealthReportResponseWriter: Memecahkan masalah komposisi laporan titik akhir kesehatan. -
Azure.DataApiBuilder.Service.Controllers.RestController: Periksa kesalahan pengarahan permintaan REST dan kesalahan pada tingkat pengontrol. -
Azure.DataApiBuilder.Auth.IAuthorizationResolver: Men-debug keputusan otorisasi dan evaluasi peran. -
Microsoft.AspNetCore.Authorization.IAuthorizationHandler: Selidiki perilaku alur otorisasi inti ASP.NET. -
default: Atur tingkat dasar untuk semua kategori lain yang tidak terdaftar secara eksplisit.