Untuk aplikasi Node.js, plugin dipertahankan untuk library logging Winston dan Bunyan yang populer. Winston adalah library tujuan umum, yang menerapkan berbagai pemformat dan transportasi log. Bunyan, yang dikhususkan untuk log JSON terstruktur, mendukung pemformatan log dengan mengarahkan ke command line Bunyan.
Anda juga dapat menggunakan library klien Logging untuk Node.js secara langsung, atau membuat integrasi Anda sendiri dengan library logging pilihan Anda. Misalnya, Anda dapat menggunakan contoh framework log Pino.
Agen Logging tidak perlu diinstal untuk menggunakan Winston atau Bunyan di instance mesin virtual (VM) Compute Engine.
Sebelum memulai
- Login keakun Anda. Google Cloud Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Logging API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Logging API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.- Menyiapkan lingkungan Anda untuk pengembangan Node.js.
Mengonfigurasi logging
Bagian ini menjelaskan cara menginstal dan mengonfigurasi plugin untuk library logging Winston dan Bunyan. Untuk Bunyan, informasi diberikan tentang cara menggunakan Bunyan dengan aplikasi Node.js Express.
Anda dapat menggunakan library atau framework lain. Misalnya, Anda dapat menggunakan framework log Pino. Untuk kode contoh yang menggunakan OpenTelemetry untuk mengumpulkan data metrik dan pelacakan, serta framework log Pino untuk mengumpulkan data log, lihat Contoh instrumentasi Node.js. Jika Anda menggunakan Pino, Anda harus menerapkan pemetaan antara tingkat keparahan Pino dan yang digunakan oleh Cloud Logging. Untuk kode contoh, lihat Memetakan Tingkat Log Pino.
Menginstal dan mengonfigurasi plugin Winston
Cloud Logging menyediakan plugin untuk library Logging Node.js Winston. Plugin Logging untuk Winston menyediakan lapisan yang lebih sederhana dan tingkat tinggi untuk bekerja dengan Logging.
Untuk menginstal dan mengonfigurasi plugin Winston, lakukan hal berikut:
Untuk menginstal plugin Logging Winston, gunakan npm:
npm install @google-cloud/logging-winston winston
Impor plugin dan tambahkan ke konfigurasi Winston Anda:
Konfigurasi plugin Anda.
Anda dapat menyesuaikan perilaku plugin Winston menggunakan opsi konfigurasi yang sama yang didukung oleh library klien Cloud Logging API Cloud untuk Node.js. Opsi ini dapat diteruskan dalam objek
optionsyang diteruskan ke konstruktor plugin.
Menginstal dan mengonfigurasi plugin Bunyan
Cloud Logging menyediakan plugin untuk library Logging Node.js Bunyan. Plugin Logging untuk Bunyan menyediakan lapisan yang lebih sederhana dan tingkat tinggi untuk bekerja dengan Logging.
Untuk menginstal dan mengonfigurasi plugin Bunyan, lakukan hal berikut:
Untuk menginstal plugin Logging Bunyan, gunakan npm:
npm install bunyan @google-cloud/logging-bunyan
Impor plugin dan tambahkan ke konfigurasi Bunyan Anda:
Konfigurasi plugin Anda.
Anda dapat menyesuaikan perilaku plugin Bunyan menggunakan opsi konfigurasi yang sama yang didukung oleh library klien Cloud Logging API Cloud untuk Node.js. Opsi ini dapat diteruskan dalam objek
optionsyang diteruskan ke konstruktor plugin.
Menggunakan Bunyan dan Express
Anda dapat menyiapkan dan menggunakan Bunyan dengan Logging di aplikasi Node.js Express.
Untuk mengetahui informasi selengkapnya tentang penginstalan, lihat dokumentasi untuk library Cloud Logging untuk Node.js. Anda juga dapat melaporkan masalah menggunakan the issue tracker.
Menulis log dengan library klien Cloud Logging
Untuk mengetahui informasi tentang cara menggunakan library klien Cloud Logging untuk Node.js secara langsung, lihat Library Klien Cloud Logging.
Menjalankan di Google Cloud
Agar aplikasi dapat menulis log menggunakan library Cloud Logging untuk Node.js, akun layanan untuk resource yang mendasarinya harus memiliki peran
IAM
Penulis Log (roles/logging.logWriter) .
Sebagian besar Google Cloud lingkungan otomatis mengonfigurasi akun layanan
default untuk memiliki peran ini.
App Engine
Untuk menulis entri log dari aplikasi Anda, sebaiknya gunakan Bunyan atau Winston seperti yang dijelaskan di halaman ini.
Untuk mengetahui informasi selengkapnya, lihat Menulis dan melihat log.
Google Kubernetes Engine (GKE)
GKE otomatis memberikan peran IAM Penulis Log (roles/logging.logWriter) ke akun layanan default.
Jika Anda menggunakan
Workload Identity Federation for GKE
dengan akun layanan default ini agar workload dapat mengakses
Google Cloud API tertentu, tidak diperlukan konfigurasi tambahan.
Namun, jika Anda menggunakan Workload Identity Federation untuk GKE dengan akun layanan IAM kustom, pastikan akun layanan kustom memiliki peran Penulis Log (roles/logging.logWriter).
Jika diperlukan, Anda juga dapat menggunakan perintah berikut untuk menambahkan cakupan akses logging.write saat membuat cluster:
gcloud container clusters create example-cluster-name \
--scopes https://www.googleapis.com/auth/logging.write
Compute Engine
Saat menggunakan Compute Engine instance VM, tambahkan cloud-platform
cakupan akses ke setiap instance. Saat membuat instance baru melalui
Google Cloud konsol, Anda dapat melakukannya di bagian Identity and API access pada panel Create Instance. Gunakan akun layanan default Compute Engine atau akun layanan lain pilihan Anda, dan pilih Allow full access to all Cloud APIs di bagian Identity and API access. Akun layanan mana pun yang Anda pilih, pastikan akun tersebut telah diberi peranPenulis Log di bagian IAM & Admin di konsol.Google Cloud
Cloud Run Functions
Cloud Run Functions memberikan peran Penulis Log secara default.
Library Cloud Logging untuk Node.js dapat digunakan tanpa perlu memberikan kredensial secara eksplisit.
Cloud Run Functions dikonfigurasi untuk menggunakan Cloud Logging secara otomatis.
Menjalankan secara lokal dan di tempat lain
Untuk menggunakan library Cloud Logging untuk Node.js di luar Google Cloud, termasuk menjalankan library di workstation Anda sendiri, di komputer pusat data Anda, atau di instance VM penyedia cloud lain, Anda harus menyiapkan Kredensial Default Aplikasi (ADC) di lingkungan lokal Anda untuk melakukan autentikasi ke library Cloud Logging untuk Node.js.
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan lokal atau penyedia cloud lainnya.
Menggunakan Winston:Menggunakan Bunyan:
Melihat log
Di Google Cloud konsol, buka halaman Logs Explorer:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.
Di Logs Explorer, Anda harus menentukan satu atau beberapa resource, tetapi pemilihan resource mungkin tidak jelas. Berikut beberapa tips yang dapat membantu Anda memulai:
Jika Anda men-deploy aplikasi ke App Engine atau menggunakan library khusus App Engine, tetapkan resource ke GAE Application.
Jika Anda men-deploy aplikasi di Compute Engine, tetapkan resource ke GCE VM Instance.
Jika Anda men-deploy aplikasi di Google Kubernetes Engine, konfigurasi logging cluster Anda akan menentukan jenis resource entri log. Untuk mengetahui pembahasan mendetail tentang Google Cloud Observability Lama dan solusi Google Cloud Observability Kubernetes Monitoring, serta pengaruh opsi tersebut terhadap jenis resource, lihat Bermigrasi ke Google Cloud Observability Kubernetes Monitoring.
Jika aplikasi Anda menggunakan Cloud Logging API secara langsung, resource akan bergantung pada API dan konfigurasi Anda. Misalnya, di aplikasi Anda, Anda dapat menentukan resource atau menggunakan resource default.
Jika Anda tidak melihat log apa pun di Logs Explorer, untuk melihat semua entri log, beralihlah ke mode kueri lanjutan dan gunakan kueri kosong.
- Untuk beralih ke mode kueri lanjutan, klik menu (▾) di bagian atas Logs Explorer, lalu pilih Convert to advanced filter.
- Hapus konten yang muncul di kotak filter.
- Klik Submit Filter.
Anda dapat memeriksa setiap entri untuk mengidentifikasi resource Anda.
Untuk mengetahui informasi tambahan, lihat Menggunakan Logs Explorer.