Anda dapat menulis log ke Cloud Logging dari aplikasi Java menggunakan penanda Logback atau java.util.logging handler, atau dengan menggunakan library Cloud Logging untuk Java secara langsung.
Agen Cloud Logging tidak harus diinstal untuk menggunakan library Cloud Logging untuk Java.
Sebelum memulai
- Login ke akun Google Cloud Anda. 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.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan Cloud Logging API.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan Cloud Logging API.
Apender logback untuk Cloud Logging
Dengan penambahan Logback, Anda dapat menggunakan Cloud Logging dengan fasad logging SLF4J.
Menginstal dependensi
If you are using Maven, add
the following to your pom.xml
file. For more information about
BOMs, see The Google Cloud Platform Libraries BOM.
If you are using Gradle, add the following to your dependencies:
If you are using sbt, add the following to your dependencies:
Konfigurasi kembali
Logback dapat dikonfigurasi secara terprogram atau menggunakan skrip yang dinyatakan dalam XML atau Groovy.
Anda dapat menyesuaikan batas tingkat keparahan minimum, nama log, atau memberikan penyempurna tambahan. Ini adalah contoh konfigurasi Logback dalam format XML:
Contoh
Setelah mengonfigurasi Logback untuk menggunakan adder Logback Cloud Logging, Anda kini dapat mengalihkan log menggunakan API logging SLF4J. Berikan konfigurasi Google Cloud jika Anda berencana untuk menjalankan contoh secara lokal atau di luar Google Cloud. Cuplikan ini menunjukkan cara melakukan logging 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
If you are using Maven with
a BOM, add the following to your pom.xml
file:
If you are using Maven without a BOM, add this to your dependencies:
If you are using Gradle, add the following to your dependencies:
If you are using sbt, add the following to your dependencies:
If you're using Visual Studio Code, IntelliJ, or Eclipse, you can add client libraries to your project using the following IDE plugins:
The plugins provide additional functionality, such as key management for service accounts. Refer to each plugin's documentation for details.
java.util.logging configuration
Pengendali logging dapat ditambahkan secara terprogram atau dengan 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 konfigurasi Google Cloud 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 umum untuk pengendali java.util.logging
dan penjumlahan Logback untuk Cloud Logging.
Default
Adder Logback dan pengendali java.util.logging
menggunakan setelan default berikut untuk membuat instance klien Cloud Logging:
Nama log :
java.log
Ambang batas minimum untuk dicatat :
INFO
Tingkat 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 langsung ditulis.
Deteksi resource yang dimonitor
Semua log yang dikirim melalui library Cloud Logging memerlukan jenis resource yang dimonitor untuk mengidentifikasi aplikasi Anda.
Penambahan Logback dan pengendali java.util.logging
menyediakan deteksi jenis resource otomatis untuk aplikasi App Engine, Compute Engine, dan Google Kubernetes Engine.
Resource yang dipantau global
digunakan sebagai default di lingkungan lain.
Anda dapat mengganti jenis resource yang dimonitor ke jenis yang valid di Konfigurasi penunjang Logback
atau Konfigurasi Pengendali java.util.logging
.
Kolom dan label tambahan
Dengan menggunakan penambahan Logback dan pengendali java.util.logging
, Anda dapat menambahkan atau memperbarui kolom pada objek LogEntry menggunakan instance LoggingEnhancer.
Booster harus dikonfigurasi seperti yang ditunjukkan dalam
Konfigurasiadder logback atau
konfigurasi pengendali java.util.logging
:
Penggunaan label khusus mungkin tidak didukung untuk konfigurasi Anda. Misalnya, log Dataflow tidak menyertakan label ini.
Untuk mengetahui informasi lebih lanjut tentang penginstalan, lihat dokumentasi untuk library Cloud Logging untuk Java. Anda juga dapat melaporkan masalah menggunakan 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 Logs Writer (roles/logging.logWriter
) IAM.
Sebagian besar lingkungan Google Cloud secara otomatis mengonfigurasi akun layanan default untuk memiliki peran ini.
App Engine
Cloud Logging diaktifkan secara otomatis untuk App Engine, dan akun layanan default aplikasi Anda memiliki izin IAM secara default untuk menulis entri log.
Lingkungan standar App Engine, secara default menggunakan API java.util.logging.Logger
; API ini menulis ke Cloud Logging secara langsung dan mudah dikonfigurasi.
Untuk detail lebih lanjut, 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 dipaketkan dengan library Cloud Logging untuk Java.
Pengendali java.util.logging
dapat digunakan untuk langsung login ke Cloud Logging dengan menyediakan logging.properties
di app.yaml
Anda seperti yang ditunjukkan di sini:
env_variables:
JETTY_ARGS: -Djava.util.logging.config.file=WEB-INF/logging.properties
Logging ID rekaman aktivitas tersedia di runtime Jetty jika Anda menggunakan pengendali java.util.logging
atau Appender Logback.
Saat berjalan di lingkungan fleksibel App Engine, instance
TraceLoggingEnhancer akan menambahkan ID trace yang aman untuk thread ke setiap entri log yang menggunakan label trace_id
.
Google Kubernetes Engine (GKE)
GKE otomatis memberikan peran IAM
Logs Writer (roles/logging.logWriter
) ke akun layanan default.
Jika Anda menggunakan Workload Identity dengan akun layanan default ini untuk memungkinkan beban kerja mengakses Google Cloud API tertentu, konfigurasi tambahan tidak diperlukan.
Namun, jika Anda menggunakan Workload Identity dengan akun layanan IAM kustom, pastikan bahwa 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 instance VM Compute Engine, tambahkan cakupan akses cloud-platform
ke setiap instance. Saat membuat instance baru melalui Google Cloud Console, 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, lalu pilih Izinkan akses penuh ke semua Cloud API di bagian Identitas dan akses API. Apa pun akun layanan yang Anda pilih, pastikan akun tersebut telah diberi peran Penulis Log di bagian IAM & Admin di Konsol Google Cloud.
Menjalankan secara lokal dan di tempat lain
Agar dapat menggunakan library Cloud Logging untuk Java di luar Google Cloud, termasuk menjalankan library di workstation Anda sendiri, di komputer pusat data, atau di instance VM penyedia cloud lain, Anda harus memasukkan project ID Google Cloud dan kredensial akun layanan yang sesuai secara langsung ke library Cloud Logging untuk Java.
Untuk akun layanan yang ada, lakukan hal berikut:
Berikan peran IAM Logs Writer (
roles/logging.logWriter
) ke akun layanan tersebut. Untuk mengetahui informasi selengkapnya tentang peran IAM, lihat Kontrol akses.
Jika Anda tidak memiliki akun layanan, buat akun layanan. Untuk mengetahui informasi tentang proses ini, lihat Membuat akun layanan.
Untuk mengetahui informasi umum tentang metode yang dapat Anda gunakan untuk mengautentikasi, lihat Terminologi: akun layanan.
Melihat log
Di panel navigasi konsol Google Cloud, pilih Logging, lalu pilih Logs Explorer:
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 Aplikasi GAE.
Jika Anda men-deploy aplikasi di Compute Engine, tetapkan resource ke Instance VM GTFS.
Jika Anda men-deploy aplikasi di Google Kubernetes Engine, konfigurasi logging cluster akan menentukan jenis resource entri log. Untuk diskusi mendetail tentang solusi Kemampuan Observabilitas Google Cloud Lama dan Kemampuan Observasi Google Cloud, serta pengaruh opsi tersebut terhadap jenis resource, lihat Bermigrasi ke Google Cloud untuk Kemampuan Observasi Kubernetes Monitoring.
Jika aplikasi Anda menggunakan Cloud Logging API secara langsung, resource-nya bergantung pada API dan konfigurasi Anda. Misalnya, dalam aplikasi, Anda dapat menetapkan 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 Kirim Filter.
Anda bisa memeriksa masing-masing entri untuk mengidentifikasi resource.
Untuk informasi tambahan, lihat Menggunakan Logs Explorer.