Dokumen ini diterjemahkan oleh AI. Untuk ketidakakuratan apa pun, silakan lihat versi bahasa Inggris
Pencatatan NocoBase dibangun berdasarkan Winston. Secara default, NocoBase membagi log menjadi log permintaan API, log waktu proses sistem, dan log eksekusi SQL. Log permintaan API dan log eksekusi SQL dicetak secara internal oleh aplikasi, sementara pengembang plugin biasanya hanya perlu mencetak log waktu proses sistem yang terkait dengan plugin.
Dokumen ini menjelaskan cara membuat dan mencetak log saat mengembangkan plugin.
NocoBase menyediakan metode pencetakan log waktu proses sistem. Log dicetak sesuai dengan bidang yang ditentukan dan dikeluarkan ke berkas yang juga ditentukan.
Semua metode di atas mengikuti penggunaan berikut:
Parameter pertama adalah pesan log, dan parameter kedua adalah objek metadata opsional, yang dapat berupa pasangan kunci-nilai apa pun. Di dalamnya, module, submodule, dan method akan diekstrak sebagai bidang terpisah, dan bidang lainnya akan ditempatkan dalam bidang meta.
Jika Anda ingin menggunakan metode pencetakan default sistem tetapi tidak ingin mengeluarkannya ke berkas default, Anda dapat membuat instans logger sistem kustom menggunakan createSystemLogger.
Jika Anda tidak ingin menggunakan metode pencetakan yang disediakan sistem dan ingin menggunakan metode asli Winston, Anda dapat membuat log menggunakan metode berikut.
createLoggeroptions memperluas winston.LoggerOptions yang asli.
transports - Gunakan 'console' | 'file' | 'dailyRotateFile' untuk menerapkan metode keluaran yang telah ditentukan sebelumnya.format - Gunakan 'logfmt' | 'json' | 'delimiter' untuk menerapkan format pencetakan yang telah ditentukan sebelumnya.app.createLoggerDalam skenario multi-aplikasi, terkadang kita ingin direktori dan berkas keluaran kustom, yang dapat dikeluarkan ke direktori dengan nama aplikasi saat ini.
plugin.createLoggerKasus penggunaan dan metodenya sama dengan app.createLogger.