

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

# Log-level penyaringan
<a name="monitoring-cloudwatchlogs-log-level"></a>

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).

Untuk[Runtime dan metode logging yang didukung](monitoring-cloudwatchlogs-logformat.md#monitoring-cloudwatchlogs-logformat-supported), 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 berformat JSON yang berisi pasangan nilai kunci dengan kunci. `"level"` Misalnya, Lambda menafsirkan output berikut `stdout` sebagai log tingkat DEBUG.

```
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 keluaran log INFO tingkat. Agar Lambda dapat menggunakan bidang stempel waktu, Anda harus menentukan waktu dalam format stempel waktu [RFC](https://www.ietf.org/rfc/rfc3339.txt) 3339 yang valid. Jika Anda tidak menyediakan stempel waktu yang valid, Lambda akan menetapkan log INFO level 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.

**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 Anda ke JSON, lihat[Mengatur format log fungsi Anda](monitoring-cloudwatchlogs-logformat.md#monitoring-cloudwatchlogs-set-format).

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 ke WARN, Lambda tidak mengirim output log di level INFO dan DEBUG. Level log aplikasi default untuk penyaringan log adalah INFO.

Saat Lambda memfilter log aplikasi fungsi Anda, pesan log tanpa level akan diberikan INFO tingkat log.

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 | 
| PERINGATAN (paling sedikit 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 ke INFO, Lambda tidak mengirim output log pada tingkat DEBUG.

Secara default, Lambda menetapkan tingkat 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 menjadi DEBUG atau WARN. Untuk melihat daftar level log tempat Lambda memetakan peristiwa log sistem yang berbeda, lihat. [Pemetaan peristiwa tingkat log sistem](#monitoring-cloudwatchlogs-log-level-mapping)

## Mengkonfigurasi penyaringan tingkat log
<a name="monitoring-cloudwatchlogs-log-level-setting"></a>

Untuk mengonfigurasi pemfilteran tingkat log aplikasi dan sistem untuk fungsi Anda, Anda dapat menggunakan konsol Lambda atau (). AWS Command Line Interface AWS CLI[Anda juga dapat mengonfigurasi level log fungsi menggunakan perintah API [CreateFunction](https://docs.aws.amazon.com/lambda/latest/api/API_CreateFunction.html)dan [UpdateFunctionConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionConfiguration.html)Lambda, sumber daya AWS Serverless Application Model (AWS SAM) [AWS::Serverless: :Function, dan sumber daya: :Function](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html). CloudFormation AWS::Lambda](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html)

Perhatikan bahwa jika Anda menetapkan tingkat log fungsi Anda dalam kode Anda, pengaturan ini lebih diutamakan daripada pengaturan tingkat log lainnya yang Anda konfigurasikan. Misalnya, jika Anda menggunakan `logging` `setLevel()` metode Python untuk mengatur tingkat logging fungsi Anda ke INFO, 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](https://console.aws.amazon.com/lambda/home#/functions) di konsol Lambda.

1. Pilih fungsi.

1. Pada halaman konfigurasi fungsi, pilih **Alat pemantauan dan operasi**.

1. Di panel **konfigurasi Logging**, pilih **Edit**.

1. Di bawah **Konten log**, untuk **format Log** pastikan **JSON** dipilih.

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

1. 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 perintah [update-function-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-configuration.html). Gunakan `--logging-config` untuk mengatur `SystemLogLevel` ke salah satu`DEBUG`,`INFO`, atau`WARN`. Setel `ApplicationLogLevel` ke salah satu`DEBUG`,`INFO`,`WARN`,`ERROR`, atau`FATAL`. 

  ```
  aws lambda update-function-configuration \
    --function-name myFunction \
    --logging-config LogFormat=JSON,ApplicationLogLevel=ERROR,SystemLogLevel=WARN
  ```

**Untuk mengonfigurasi pemfilteran tingkat log saat Anda membuat fungsi**
+ [Untuk mengonfigurasi penyaringan tingkat log saat Anda membuat fungsi baru, gunakan `--logging-config` untuk mengatur `ApplicationLogLevel` tombol `SystemLogLevel` dan dalam perintah create-function.](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/create-function.html) Setel `SystemLogLevel` ke salah satu`DEBUG`,`INFO`, atau`WARN`. Setel `ApplicationLogLevel` ke salah satu`DEBUG`,`INFO`,`WARN`,`ERROR`, atau`FATAL`.

  ```
  aws lambda create-function \
    --function-name myFunction \
    --runtime nodejs24.x \
    --handler index.handler \
    --zip-file fileb://function.zip \
    --role arn:aws:iam::123456789012:role/LambdaRole \ 
    --logging-config LogFormat=JSON,ApplicationLogLevel=ERROR,SystemLogLevel=WARN
  ```

## Pemetaan peristiwa tingkat log sistem
<a name="monitoring-cloudwatchlogs-log-level-mapping"></a>

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 Telemetri Lambda `Event`](telemetry-schema-reference.md)


| Nama peristiwa | Kondisi | Tingkat log yang ditetapkan | 
| --- | --- | --- | 
| InitStart | RuntimeVersion diatur | INFO | 
| InitStart | RuntimeVersion tidak disetel | DEBUG | 
| init RuntimeDone | status=sukses | DEBUG | 
| init RuntimeDone | status\! = sukses | WARN | 
| InitReport | InitializationType\! = sesuai permintaan | INFO | 
| InitReport | initializationType=Sesuai permintaan | DEBUG | 
| InitReport | status\! = sukses | WARN | 
| RestoRestoRestart | RuntimeVersion diatur | INFO | 
| RestoRestoRestart | RuntimeVersion tidak disetel | DEBUG | 
| mengembalikan RuntimeDone | status=sukses | DEBUG | 
| mengembalikan RuntimeDone | 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 | 
| TeleMetryLangganan | - | INFO | 
| LogsDropped | - | WARN | 

**catatan**  
[Mengakses data telemetri real-time untuk ekstensi menggunakan API Telemetri](telemetry-api.md)Selalu memancarkan set lengkap acara platform. Mengonfigurasi level log sistem yang dikirim Lambda tidak memengaruhi perilaku API CloudWatch Telemetri Lambda.

## Pemfilteran tingkat log aplikasi dengan runtime khusus
<a name="monitoring-cloudwatchlogs-log-level-custom"></a>

Saat Anda mengonfigurasi pemfilteran tingkat log aplikasi untuk fungsi Anda, di belakang layar Lambda menetapkan 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](runtimes-custom.md).

Agar dapat mengonfigurasi pengaturan logging untuk suatu fungsi menggunakan runtime khusus dengan konsol Lambda AWS CLI, dan API 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.