Mengkonfigurasi kontrol logging lanjutan untuk fungsi Lambda - AWS Lambda

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengkonfigurasi kontrol logging lanjutan untuk fungsi Lambda

Untuk memberi Anda kontrol lebih besar atas bagaimana log fungsi Anda ditangkap, diproses, dan dikonsumsi, Lambda menawarkan opsi konfigurasi logging berikut:

  • Format log - pilih antara teks biasa dan JSON format terstruktur untuk log fungsi Anda

  • Tingkat log - untuk log JSON terstruktur, pilih tingkat detail log yang dikirim Lambda ke CloudWatch, seperti,ERROR, DEBUG atau INFO

  • Grup log - pilih grup CloudWatch log yang dikirimkan oleh fungsi Anda

Untuk mempelajari lebih lanjut tentang mengonfigurasi kontrol logging lanjutan, lihat bagian berikut:

Mengkonfigurasi JSON dan format log teks biasa

Menangkap output log Anda sebagai pasangan nilai JSON kunci membuatnya lebih mudah untuk mencari dan memfilter saat men-debug fungsi Anda. Dengan log JSON yang diformat, Anda juga dapat menambahkan tag dan informasi kontekstual ke log Anda. Ini dapat membantu Anda untuk melakukan analisis otomatis volume besar data log. Kecuali alur kerja pengembangan Anda bergantung pada alat yang ada yang menggunakan log Lambda dalam teks biasa, kami sarankan Anda memilih format log Anda. JSON

Untuk semua runtime terkelola Lambda, Anda dapat memilih apakah log sistem fungsi Anda dikirim ke CloudWatch Log dalam teks atau format biasa yang tidak terstruktur. JSON Log sistem adalah log yang dihasilkan Lambda dan kadang-kadang dikenal sebagai log peristiwa platform.

Untuk runtime yang didukung, saat Anda menggunakan salah satu metode logging bawaan yang didukung, Lambda juga dapat menampilkan log aplikasi fungsi Anda (log yang dihasilkan kode fungsi Anda) dalam JSON format terstruktur. Saat Anda mengonfigurasi format log fungsi Anda untuk runtime ini, konfigurasi yang Anda pilih berlaku untuk log sistem dan aplikasi.

Untuk runtime yang didukung, jika fungsi Anda menggunakan pustaka atau metode logging yang didukung, Anda tidak perlu membuat perubahan apa pun pada kode yang ada untuk Lambda untuk menangkap log dalam struktur. JSON

catatan

Menggunakan pemformatan JSON log menambahkan metadata tambahan dan mengkodekan pesan log sebagai JSON objek yang berisi serangkaian pasangan nilai kunci. Karena itu, ukuran pesan log fungsi Anda dapat meningkat.

Runtime dan metode logging yang didukung

Lambda saat ini mendukung opsi untuk menampilkan log aplikasi JSON terstruktur untuk runtime berikut.

Waktu Aktif Versi yang didukung
Java Semua runtime Java kecuali Java 8 di Amazon Linux 1
Node.js Node.js 16 dan yang lebih baru
Python Python 3.8 dan yang lebih baru

Agar Lambda dapat mengirim log aplikasi fungsi Anda ke CloudWatch dalam JSON format terstruktur, fungsi Anda harus menggunakan alat logging bawaan berikut untuk mengeluarkan log:

  • Java - LambdaLogger logger atau log4j2.

  • Node.js - Metode konsolconsole.trace,console.debug,console.log,console.info,console.error, dan console.warn

  • Python - pustaka Python standar logging

Untuk informasi selengkapnya tentang menggunakan kontrol logging lanjutan dengan runtime yang didukung, lihatLog dan pantau fungsi Java Lambda,Log dan pantau fungsi Node.js Lambda, danLog dan pantau fungsi Python Lambda.

Untuk runtime Lambda terkelola lainnya, Lambda saat ini hanya mendukung pengambilan log sistem dalam format terstruktur. JSON Namun, Anda masih dapat menangkap log aplikasi dalam JSON format terstruktur dalam runtime apa pun dengan menggunakan alat logging seperti Powertools untuk output output log AWS Lambda yang JSON diformat.

Format log default

Saat ini, format log default untuk semua runtime Lambda adalah teks biasa.

Jika Anda sudah menggunakan pustaka logging seperti Powertools AWS Lambda untuk menghasilkan log fungsi dalam format JSON terstruktur, Anda tidak perlu mengubah kode jika memilih pemformatan JSON log. Lambda tidak menyandikan dua kali log apa pun yang sudah JSON dikodekan, sehingga log aplikasi fungsi Anda akan terus ditangkap seperti sebelumnya.

JSONformat untuk log sistem

Saat Anda mengonfigurasi format log fungsi Anda sebagaiJSON, setiap item log sistem (peristiwa platform) ditangkap sebagai JSON objek yang berisi pasangan nilai kunci dengan kunci berikut:

  • "time"- waktu pesan log dihasilkan

  • "type"- jenis acara yang dicatat

  • "record"- isi dari output log

Format "record" nilai bervariasi sesuai dengan jenis peristiwa yang dicatat. Untuk informasi selengkapnya, lihat Jenis objek telemetri API Event. Untuk informasi selengkapnya tentang tingkat log yang ditetapkan ke peristiwa log sistem, lihatPemetaan peristiwa tingkat log sistem.

Sebagai perbandingan, dua contoh berikut menunjukkan output log yang sama dalam teks biasa dan JSON format terstruktur. Perhatikan bahwa dalam kebanyakan kasus, peristiwa log sistem berisi lebih banyak informasi saat output dalam JSON format daripada saat output dalam teks biasa.

contoh teks biasa:
2024-03-13 18:56:24.046000 fbe8c1 INIT_START Runtime Version: python:3.12.v18 Runtime Version ARN: arn:aws:lambda:eu-west-1::runtime:edb5a058bfa782cb9cedc6d534ac8b8c193bc28e9a9879d9f5ebaaf619cd0fc0
contoh terstrukturJSON:
{ "time": "2024-03-13T18:56:24.046Z", "type": "platform.initStart", "record": { "initializationType": "on-demand", "phase": "init", "runtimeVersion": "python:3.12.v18", "runtimeVersionArn": "arn:aws:lambda:eu-west-1::runtime:edb5a058bfa782cb9cedc6d534ac8b8c193bc28e9a9879d9f5ebaaf619cd0fc0" } }
catatan

Mengakses data telemetri real-time untuk ekstensi menggunakan Telemetri APISelalu memancarkan acara platform seperti START dan REPORT dalam JSON format. Mengonfigurasi format log sistem yang dikirim CloudWatch Lambda tidak memengaruhi perilaku Telemetri Lambda. API

JSONformat untuk log aplikasi

Saat Anda mengonfigurasi format log fungsi Anda sebagaiJSON, keluaran log aplikasi yang ditulis menggunakan pustaka dan metode logging yang didukung ditangkap sebagai JSON objek yang berisi pasangan nilai kunci dengan kunci berikut.

  • "timestamp"- waktu pesan log dihasilkan

  • "level"- tingkat log yang ditetapkan untuk pesan

  • "message"- isi pesan log

  • "requestId"(Python dan Node.js) atau "AWSrequestId" (Java) - ID permintaan unik untuk pemanggilan fungsi

Bergantung pada runtime dan metode logging yang digunakan fungsi Anda, JSON objek ini mungkin juga berisi pasangan kunci tambahan. Misalnya, di Node.js, jika fungsi Anda menggunakan console metode untuk mencatat objek kesalahan menggunakan beberapa argumen, JSON Objek akan berisi pasangan nilai kunci tambahan dengan kuncierrorMessage,errorType, danstackTrace. Untuk mempelajari lebih lanjut tentang log JSON yang diformat di runtime Lambda yang berbeda, Log dan pantau fungsi Python Lambda lihatLog dan pantau fungsi Node.js Lambda, dan. Log dan pantau fungsi Java Lambda

catatan

Kunci yang digunakan Lambda untuk nilai stempel waktu berbeda untuk log sistem dan log aplikasi. Untuk log sistem, Lambda menggunakan kunci "time" untuk menjaga konsistensi dengan Telemetri. API Untuk log aplikasi, Lambda mengikuti konvensi runtime dan penggunaan yang didukung. "timestamp"

Sebagai perbandingan, dua contoh berikut menunjukkan output log yang sama dalam teks biasa dan JSON format terstruktur.

contoh teks biasa:
2024-10-27T19:17:45.586Z 79b4f56e-95b1-4643-9700-2807f4e68189 INFO some log message
contoh terstrukturJSON:
{ "timestamp":"2024-10-27T19:17:45.586Z", "level":"INFO", "message":"some log message", "requestId":"79b4f56e-95b1-4643-9700-2807f4e68189" }

Mengatur format log fungsi Anda

Untuk mengonfigurasi format log untuk fungsi Anda, Anda dapat menggunakan konsol Lambda atau AWS Command Line Interface ()AWS CLI. Anda juga dapat mengonfigurasi format log fungsi menggunakan API perintah CreateFunctiondan UpdateFunctionConfigurationLambda, sumber daya AWS Serverless Application Model (AWS SAM) AWS: :Serverless: :Function, dan sumber daya: :Lambda: :Function. AWS CloudFormation AWS

Mengubah format log fungsi Anda tidak memengaruhi log yang ada yang disimpan di CloudWatch Log. Hanya log baru yang akan menggunakan format yang diperbarui.

Jika Anda mengubah format log fungsi Anda menjadi JSON dan tidak menyetel level log, maka Lambda secara otomatis menyetel level log aplikasi dan level log sistem fungsi Anda. INFO Ini berarti bahwa Lambda hanya mengirimkan output log tingkat INFO dan lebih rendah ke Log. CloudWatch Untuk mempelajari selengkapnya tentang pemfilteran tingkat log aplikasi dan sistem, lihat Pemfilteran tingkat log

catatan

Untuk runtime Python, ketika format log fungsi Anda diatur ke teks biasa, pengaturan tingkat log default adalah. WARN Ini berarti bahwa Lambda hanya mengirimkan output log level WARN dan lebih rendah ke Log. CloudWatch Mengubah format log fungsi Anda untuk JSON mengubah perilaku default ini. Untuk mempelajari lebih lanjut tentang login dengan Python, lihat. Log dan pantau fungsi Python Lambda

Untuk fungsi Node.js yang memancarkan log format metrik (EMF) yang disematkan, mengubah format log fungsi Anda CloudWatch menjadi tidak dapat mengenali metrik Anda. JSON

penting

Jika fungsi Anda menggunakan Powertools for AWS Lambda (TypeScript) atau pustaka EMF klien bersumber terbuka untuk memancarkan EMF log, perbarui Powertools dan EMFpustaka Anda ke versi terbaru untuk memastikannya CloudWatch dapat terus mengurai log Anda dengan benar. Jika Anda beralih ke format JSON log, kami juga menyarankan Anda melakukan pengujian untuk memastikan kompatibilitas dengan metrik tertanam fungsi Anda. Untuk saran lebih lanjut tentang fungsi node.js yang memancarkan EMF log, lihatMenggunakan pustaka klien format metrik tertanam (EMF) dengan log JSON terstruktur.

Untuk mengkonfigurasi format log fungsi (konsol)
  1. Buka halaman Fungsi di konsol Lambda.

  2. Pilih fungsi

  3. Pada halaman konfigurasi fungsi, pilih Alat pemantauan dan operasi.

  4. Di panel konfigurasi Logging, pilih Edit.

  5. Di bawah Konten log, untuk format Log pilih Teks atau JSON.

  6. Pilih Simpan.

Untuk mengubah format log dari fungsi yang ada (AWS CLI)
  • Untuk mengubah format log dari fungsi yang ada, gunakan update-function-configurationperintah. Atur LogFormat opsi LoggingConfig ke salah satu JSON atauText.

    aws lambda update-function-configuration \ --function-name myFunction \ --logging-config LogFormat=JSON
Untuk mengatur format log saat Anda membuat fungsi (AWS CLI)
  • Untuk mengonfigurasi format log saat Anda membuat fungsi baru, gunakan --logging-config opsi dalam perintah create-function. Setel LogFormat ke salah satu JSON atauText. Contoh perintah berikut menciptakan fungsi Node.js yang output log dalam terstrukturJSON.

    Jika Anda tidak menentukan format log saat membuat fungsi, Lambda akan menggunakan format log default untuk versi runtime yang Anda pilih. Untuk informasi tentang format logging default, lihatFormat log default.

    aws lambda create-function \ --function-name myFunction \ --runtime nodejs20.x \ --handler index.handler \ --zip-file fileb://function.zip \ --role arn:aws:iam::123456789012:role/LambdaRole \ --logging-config LogFormat=JSON

Pemfilteran tingkat log

Lambda dapat memfilter log fungsi Anda sehingga hanya log dengan tingkat detail tertentu atau lebih rendah yang dikirim ke CloudWatch Log. Anda dapat mengonfigurasi pemfilteran tingkat log secara terpisah untuk log sistem fungsi Anda (log yang dihasilkan Lambda) dan log aplikasi (log yang dihasilkan oleh kode fungsi Anda).

UntukRuntime dan metode logging yang didukung, Anda tidak perlu membuat perubahan apa pun pada kode fungsi Anda agar Lambda memfilter log aplikasi fungsi Anda.

Untuk semua runtime dan metode logging lainnya, kode fungsi Anda harus menampilkan peristiwa log ke stdout atau stderr sebagai objek yang JSON diformat yang berisi pasangan nilai kunci dengan kunci. "level" Misalnya, Lambda menafsirkan output berikut stdout sebagai DEBUG log level.

print('{"level": "debug", "msg": "my debug log", "timestamp": "2024-11-02T16:51:31.587199Z"}')

Jika bidang "level" nilai tidak valid atau hilang, Lambda akan menetapkan output log level. INFO Agar Lambda dapat menggunakan bidang stempel waktu, Anda harus menentukan waktu dalam format stempel waktu 3339 yang validRFC. Jika Anda tidak menyediakan stempel waktu yang valid, Lambda akan menetapkan level log INFO dan menambahkan stempel waktu untuk Anda.

Saat memberi nama kunci stempel waktu, ikuti konvensi runtime yang Anda gunakan. Lambda mendukung konvensi penamaan yang paling umum digunakan oleh runtime terkelola. Misalnya, dalam fungsi yang menggunakan. NETruntime, Lambda mengenali kuncinya. "Timestamp"

catatan

Untuk menggunakan penyaringan tingkat log, fungsi Anda harus dikonfigurasi untuk menggunakan format log. JSON Format log default untuk semua runtime terkelola Lambda saat ini adalah teks biasa. Untuk mempelajari cara mengonfigurasi format log fungsi AndaJSON, lihatMengatur format log fungsi Anda.

Untuk log aplikasi (log yang dihasilkan oleh kode fungsi Anda), Anda dapat memilih antara tingkat log berikut.

Tingkat log Penggunaan standar
TRACE(paling detail) Informasi paling halus yang digunakan untuk melacak jalur eksekusi kode Anda
DEBUG Informasi terperinci untuk debugging sistem
INFO Pesan yang merekam operasi normal fungsi Anda
WARN Pesan tentang potensi kesalahan yang dapat menyebabkan perilaku tak terduga jika tidak ditangani
ERROR Pesan tentang masalah yang mencegah kode berfungsi seperti yang diharapkan
FATAL(paling detail) Pesan tentang kesalahan serius yang menyebabkan aplikasi berhenti berfungsi

Ketika Anda memilih tingkat log, Lambda mengirimkan log pada tingkat itu dan lebih rendah ke CloudWatch Log. Misalnya, jika Anda menyetel level log aplikasi fungsi keWARN, Lambda tidak mengirim output log di level danINFO. DEBUG Level log aplikasi default untuk penyaringan log adalahINFO.

Ketika Lambda memfilter log aplikasi fungsi Anda, pesan log tanpa level akan ditetapkan tingkat log. INFO

Untuk log sistem (log yang dihasilkan oleh layanan Lambda), Anda dapat memilih antara tingkat log berikut.

Tingkat log Penggunaan
DEBUG(paling detail) Informasi terperinci untuk debugging sistem
INFO Pesan yang merekam operasi normal fungsi Anda
WARN(paling detail) Pesan tentang potensi kesalahan yang dapat menyebabkan perilaku tak terduga jika tidak ditangani

Ketika Anda memilih tingkat log, Lambda mengirimkan log pada tingkat itu dan lebih rendah. Misalnya, jika Anda menyetel level log sistem fungsi keINFO, Lambda tidak mengirim output log pada level tersebut. DEBUG

Secara default, Lambda menyetel level log sistem ke. INFO Dengan pengaturan ini, Lambda secara otomatis mengirim "start" dan "report" mencatat pesan ke. CloudWatch Untuk menerima log sistem yang kurang lebih terperinci, ubah level log ke DEBUG atauWARN. Untuk melihat daftar level log tempat Lambda memetakan peristiwa log sistem yang berbeda, lihat. Pemetaan peristiwa tingkat log sistem

Mengkonfigurasi penyaringan tingkat log

Untuk mengonfigurasi pemfilteran tingkat log aplikasi dan sistem untuk fungsi Anda, Anda dapat menggunakan konsol Lambda atau (). AWS Command Line Interface AWS CLIAnda juga dapat mengonfigurasi tingkat log fungsi menggunakan API perintah CreateFunctiondan UpdateFunctionConfigurationLambda, sumber daya AWS Serverless Application Model (AWS SAM) AWS: :Serverless: :Function, dan sumber daya: :Lambda: :Function. AWS CloudFormation AWS

Perhatikan bahwa jika Anda menetapkan tingkat log fungsi Anda dalam kode Anda, pengaturan ini lebih diutamakan daripada setelan tingkat log lainnya yang Anda konfigurasikan. Misalnya, jika Anda menggunakan logging setLevel() metode Python untuk mengatur tingkat logging fungsi AndaINFO, pengaturan ini lebih diutamakan daripada pengaturan WARN yang Anda konfigurasikan menggunakan konsol Lambda.

Untuk mengkonfigurasi aplikasi atau tingkat log sistem fungsi yang ada (konsol)
  1. Buka halaman Fungsi di konsol Lambda.

  2. Pilih fungsi.

  3. Pada halaman konfigurasi fungsi, pilih Alat pemantauan dan operasi.

  4. Di panel konfigurasi Logging, pilih Edit.

  5. Di bawah Konten log, untuk format Log pastikan JSONdipilih.

  6. Dengan menggunakan tombol radio, pilih level log Aplikasi yang Anda inginkan dan tingkat log sistem untuk fungsi Anda.

  7. Pilih Simpan.

Untuk mengkonfigurasi aplikasi fungsi yang ada atau tingkat log sistem (AWS CLI)
  • Untuk mengubah tingkat log aplikasi atau sistem dari fungsi yang ada, gunakan update-function-configurationperintah. Setel --system-log-level ke salah satuDEBUG,INFO, atauWARN. Setel --application-log-level ke salah satuDEBUG,INFO,WARN,ERROR, atauFATAL.

    aws lambda update-function-configuration \ --function-name myFunction \ --system-log-level WARN \ --application-log-level ERROR
Untuk mengonfigurasi pemfilteran tingkat log saat Anda membuat fungsi

Pemetaan peristiwa tingkat log sistem

Untuk peristiwa log tingkat sistem yang dihasilkan oleh Lambda, tabel berikut mendefinisikan tingkat log yang ditetapkan untuk setiap peristiwa. Untuk mempelajari lebih lanjut tentang peristiwa yang tercantum dalam tabel, lihat Referensi skema API Event Telemetri Lambda

Nama peristiwa Ketentuan Tingkat log yang ditetapkan
initStart runtimeVersion diatur INFO
initStart runtimeVersion tidak diatur DEBUG
initRuntimeDone status=sukses DEBUG
initRuntimeDone status! = sukses WARN
initReport initializationType= snapstart INFO
initReport initializationType! = snapstart DEBUG
initReport status! = sukses WARN
restoreStart runtimeVersion diatur INFO
restoreStart runtimeVersion tidak diatur DEBUG
restoreRuntimeDone status=sukses DEBUG
restoreRuntimeDone status! = sukses WARN
restoreReport status=sukses INFO
restoreReport status! = sukses WARN
start - INFO
runtimeDone status=sukses DEBUG
runtimeDone status! = sukses WARN
laporan status=sukses INFO
laporan status! = sukses WARN
luas state=sukses INFO
luas negara! = sukses WARN
logSubscription - INFO
telemetrySubscription - INFO
logsDropped - WARN
catatan

Mengakses data telemetri real-time untuk ekstensi menggunakan Telemetri APISelalu memancarkan set lengkap acara platform. Mengonfigurasi level log sistem yang dikirim CloudWatch Lambda tidak memengaruhi perilaku Telemetri Lambda. API

Pemfilteran tingkat log aplikasi dengan runtime khusus

Saat Anda mengonfigurasi pemfilteran tingkat log aplikasi untuk fungsi Anda, di belakang layar Lambda menyetel level log aplikasi di runtime menggunakan variabel lingkungan. AWS_LAMBDA_LOG_LEVEL Lambda juga menetapkan format log fungsi Anda menggunakan variabel AWS_LAMBDA_LOG_FORMAT lingkungan. Anda dapat menggunakan variabel-variabel ini untuk mengintegrasikan kontrol logging lanjutan Lambda ke dalam runtime kustom.

Untuk kemampuan mengonfigurasi pengaturan logging untuk fungsi menggunakan runtime kustom dengan konsol Lambda AWS CLI, dan APIs Lambda, konfigurasikan runtime kustom Anda untuk memeriksa nilai variabel lingkungan ini. Anda kemudian dapat mengonfigurasi logger runtime Anda sesuai dengan format log dan level log yang Anda pilih.

Mengkonfigurasi grup CloudWatch log

Secara default, CloudWatch secara otomatis membuat grup log bernama /aws/lambda/<function name> untuk fungsi Anda saat pertama kali dipanggil. Untuk mengonfigurasi fungsi Anda untuk mengirim log ke grup log yang ada, atau untuk membuat grup log baru untuk fungsi Anda, Anda dapat menggunakan konsol Lambda atau. AWS CLI Anda juga dapat mengonfigurasi grup log kustom menggunakan API perintah CreateFunctiondan UpdateFunctionConfigurationLambda dan sumber daya AWS Serverless Application Model (AWS SAM) AWS: :Serverless: :Function.

Anda dapat mengonfigurasi beberapa fungsi Lambda untuk mengirim log ke grup log yang sama CloudWatch . Misalnya, Anda dapat menggunakan grup log tunggal untuk menyimpan log untuk semua fungsi Lambda yang membentuk aplikasi tertentu. Saat Anda menggunakan grup log kustom untuk fungsi Lambda, aliran log yang dibuat Lambda menyertakan nama fungsi dan versi fungsi. Ini memastikan bahwa pemetaan antara pesan log dan fungsi dipertahankan, bahkan jika Anda menggunakan grup log yang sama untuk beberapa fungsi.

Format penamaan aliran log untuk grup log kustom mengikuti konvensi ini:

YYYY/MM/DD/<function_name>[<function_version>][<execution_environment_GUID>]

Perhatikan bahwa saat mengonfigurasi grup log kustom, nama yang Anda pilih untuk grup log Anda harus mengikuti aturan penamaan CloudWatch Log. Selain itu, nama grup log kustom tidak boleh dimulai dengan stringaws/. Jika Anda membuat grup log kustom dimulai denganaws/, Lambda tidak akan dapat membuat grup log. Akibatnya, log fungsi Anda tidak akan dikirim ke CloudWatch.

Untuk mengubah grup log fungsi (konsol)
  1. Buka halaman Fungsi di konsol Lambda.

  2. Pilih fungsi.

  3. Pada halaman konfigurasi fungsi, pilih Alat pemantauan dan operasi.

  4. Di panel konfigurasi Logging, pilih Edit.

  5. Di panel grup Logging, untuk grup CloudWatch log, pilih Kustom.

  6. Di bawah Grup log kustom, masukkan nama grup CloudWatch log yang Anda inginkan untuk mengirim log ke fungsi Anda. Jika Anda memasukkan nama grup log yang ada, maka fungsi Anda akan menggunakan grup itu. Jika tidak ada grup log dengan nama yang Anda masukkan, maka Lambda akan membuat grup log baru untuk fungsi Anda dengan nama itu.

Untuk mengubah grup log fungsi (AWS CLI)
  • Untuk mengubah grup log dari fungsi yang ada, gunakan update-function-configurationperintah.

    aws lambda update-function-configuration \ --function-name myFunction \ --logging-config LogGroup=myLogGroup
Untuk menentukan grup log kustom saat Anda membuat fungsi (AWS CLI)
  • Untuk menentukan grup log kustom saat Anda membuat fungsi Lambda baru menggunakan AWS CLI, gunakan opsi. --logging-config Contoh perintah berikut menciptakan fungsi Lambda Node.js yang mengirimkan log ke grup log bernama. myLogGroup

    aws lambda create-function \ --function-name myFunction \ --runtime nodejs20.x \ --handler index.handler \ --zip-file fileb://function.zip \ --role arn:aws:iam::123456789012:role/LambdaRole \ --logging-config LogGroup=myLogGroup

Izin peran eksekusi

Agar fungsi Anda mengirim CloudWatch log ke Log, itu harus memiliki PutLogEvents izin log:. Saat Anda mengonfigurasi grup log fungsi menggunakan konsol Lambda, jika fungsi Anda tidak memiliki izin ini, Lambda menambahkannya ke peran eksekusi fungsi secara default. Ketika Lambda menambahkan izin ini, ia memberikan izin fungsi untuk mengirim log ke grup log Log apa pun CloudWatch .

Untuk mencegah Lambda memperbarui peran eksekusi fungsi secara otomatis dan mengeditnya secara manual, perluas Izin dan hapus centang Tambahkan izin yang diperlukan.

Saat Anda mengonfigurasi grup log fungsi Anda menggunakan AWS CLI, Lambda tidak akan secara otomatis menambahkan izin. logs:PutLogEvents Tambahkan izin ke peran eksekusi fungsi Anda jika belum memilikinya. Izin ini termasuk dalam kebijakan AWSLambdaBasicExecutionRoleterkelola.