Anda dapat menulis log ke Cloud Logging dari aplikasi Java dengan menggunakan appender Logback atau java.util.logging handler, atau menggunakan library Cloud Logging untuk Java secara langsung.
Agen Cloud Logging tidak harus diinstal untuk menggunakan library Cloud Logging untuk Java.
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 Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. 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 Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
Appender Logback untuk Cloud Logging
Dengan appender Logback, Anda dapat menggunakan Cloud Logging dengan fasad logging SLF4J.
Menginstal dependensi
Jika Anda menggunakan Maven, tambahkan
kode berikut ke file pom.xml Anda: Untuk informasi lebih lanjut tentang
BOM, lihat BOM Library Google Cloud Platform.
Jika menggunakan Gradle, tambahkan kode berikut ke dependensi Anda:
Jika Anda menggunakan sbt, tambahkan kode berikut ke dependensi Anda:
Konfigurasi Logback
Logback dapat dikonfigurasi secara terprogram atau menggunakan skrip yang dinyatakan dalam XML atau Groovy.
Anda dapat menyesuaikan batas minimum tingkat keparahan, nama log, atau memberikan peningkat tambahan. Berikut adalah contoh konfigurasi Logback dalam format XML:
Contoh
Setelah mengonfigurasi Logback untuk menggunakan Logback appender Cloud Logging, Anda kini dapat mengalihkan log menggunakan API logging SLF4J. Berikan Google Cloud konfigurasi jika Anda berencana untuk menjalankan contoh secara lokal atau di luar Google Cloud. Cuplikan ini menunjukkan cara mencatat ke dalam log menggunakan fasad SLF4J dalam aplikasi Anda:
Pengendali java.util.logging
Anda juga dapat menggunakan Cloud Logging API menggunakan pengendali Java Logging API default.Menginstal dependensi
Jika Anda menggunakan Maven dengan
BOM, tambahkan kode berikut ke file pom.xml:
Jika Anda menggunakan Maven tanpa BOM, tambahkan kode berikut ke dependensi Anda:
Jika menggunakan Gradle, tambahkan kode berikut ke dependensi Anda:
Jika Anda menggunakan sbt, tambahkan kode berikut ke dependensi Anda:
Jika menggunakan Visual Studio Code atau IntelliJ, Anda dapat menambahkan library klien ke project menggunakan plugin IDE berikut:
Plugin menyediakan fungsi tambahan, seperti pengelolaan kunci untuk akun layanan. Lihat dokumentasi setiap plugin untuk mengetahui detailnya.
Konfigurasi java.util.logging
Pengendali logging dapat ditambahkan secara terprogram atau menggunakan file konfigurasi. Jalur ke file konfigurasi harus diberikan ke aplikasi Anda sebagai properti sistem:
-Djava.util.logging.config.file=/path/to/logging.properties
Berikut adalah contoh file konfigurasi:
Contoh
Berikan Google Cloud konfigurasi jika Anda berencana untuk menjalankan contoh secara lokal atau di luar Google Cloud.
Cuplikan ini menunjukkan cara mencatat log menggunakan java.util.logging:
Konfigurasi Umum
Bagian berikut membahas konfigurasi yang umum untuk pengendali java.util.logging dan appender Logback untuk Cloud Logging.
Default
Appender Logback dan pengendali java.util.logging menggunakan default berikut untuk membuat instance klien Cloud Logging:
Nama log :
java.logBatas minimum untuk mencatat log :
INFOTingkat keparahan flush :
ERROR
Library Cloud Logging untuk Java mengelompokkan pesan berdasarkan ukuran dan waktu sejak penulisan terakhir. Batch dengan permintaan logging pada atau di atas tingkat keparahan flush akan segera ditulis.
Deteksi jenis resource yang dipantau
Semua log yang dikirim melalui library Cloud Logging memerlukan jenis resource yang dipantau untuk mengidentifikasi aplikasi Anda.
Appender Logback dan pengendali java.util.logging menyediakan deteksi jenis resource otomatis untuk aplikasi App Engine, Compute Engine, dan Google Kubernetes Engine Anda.
Resource yang dipantau global digunakan sebagai default di lingkungan lain.
Anda dapat mengganti jenis resource yang dipantau ke a
jenis yang valid
di Konfigurasi appender Logback
atau java.util.logging Konfigurasi Pengendali.
Kolom dan label tambahan
Dengan appender Logback dan pengendali java.util.logging, Anda dapat menambahkan atau
memperbarui kolom pada objek LogEntry menggunakan
instance LoggingEnhancer.
Peningkat harus dikonfigurasi seperti yang ditunjukkan dalam konfigurasi appender
Logback atau konfigurasi pengendali
java.util.logging:
Penggunaan label kustom mungkin tidak didukung untuk konfigurasi Anda. Misalnya, log Dataflow tidak menyertakan label ini.
Untuk mengetahui informasi selengkapnya tentang penginstalan, lihat dokumentasi untuk library Cloud Logging untuk Java. 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 Java secara langsung, lihat Library Klien Cloud Logging.
Menjalankan di Google Cloud
Agar aplikasi dapat menulis log menggunakan library Cloud Logging untuk Java, 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
Lingkungan standar App Engine, secara
default, menggunakan
java.util.logging.Logger
API; API ini menulis ke Cloud Logging secara langsung dan mudah dikonfigurasi.
Untuk mengetahui detail selengkapnya, lihat dokumentasi App Engine tentang Membaca dan Menulis Log Aplikasi.
Lingkungan fleksibel App Engine
Di lingkungan fleksibel App Engine,
java.util.logging menggunakan ConsoleHandler
secara default, dan mengirim log ke stdout dan stderr.
Runtime Jetty disertakan dengan library Cloud Logging untuk Java.
env_variables:
JETTY_ARGS: -Djava.util.logging.config.file=WEB-INF/logging.properties
Logging ID pelacakan tersedia di runtime Jetty jika Anda menggunakan pengendali java.util.logging atau appender Logback.
Saat berjalan di lingkungan fleksibel App Engine, instance
TraceLoggingEnhancer menambahkan ID pelacakan yang aman untuk thread ke setiap entri log menggunakan label trace_id.
Google Kubernetes Engine (GKE)
GKE otomatis memberikan peran IAM Penulis Log (roles/logging.logWriter) kepada akun layanan default.
Jika Anda menggunakan
Workload Identity Federation untuk 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
Menjalankan secara lokal dan di tempat lain
Untuk menggunakan library Cloud Logging untuk Java 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 Java.
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan lokal atau penyedia cloud lainnya.
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 untuk 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 Pemantauan Kubernetes Google Cloud Observability, serta pengaruh opsi tersebut terhadap jenis resource, lihat Bermigrasi ke Pemantauan Kubernetes Google Cloud Observability.
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 Konversikan ke filter lanjutan.
- Hapus konten yang muncul di kotak filter.
- Klik Kirim Filter.
Anda dapat memeriksa setiap entri untuk mengidentifikasi resource Anda.
Untuk mengetahui informasi tambahan, lihat Menggunakan Logs Explorer.