

 Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat [posting blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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

# Kesalahan dan peringatan logging dengan Python UDFs
<a name="udf-logging-messages"></a>

Anda dapat menggunakan modul logging Python untuk membuat pesan kesalahan dan peringatan yang ditentukan pengguna di file Anda. UDFs Setelah eksekusi kueri, Anda dapat menanyakan tampilan [SVL\$1UDF\$1LOG](r_SVL_UDF_LOG.md) sistem untuk mengambil pesan yang dicatat.

**catatan**  
Pencatatan UDF mengkonsumsi sumber daya klaster dan dapat memengaruhi kinerja sistem. Kami merekomendasikan menerapkan logging hanya untuk pengembangan dan pemecahan masalah. 

Selama eksekusi kueri, penangan log menulis pesan ke tampilan sistem SVL\$1UDF\$1LOG, bersama dengan nama fungsi, simpul, dan irisan yang sesuai. Penangan log menulis satu baris ke SVL\$1UDF\$1LOG per pesan, per irisan. Pesan dipotong menjadi 4096 byte. Log UDF dibatasi hingga 500 baris per irisan. Ketika log penuh, penangan log membuang pesan lama dan menambahkan pesan peringatan ke SVL\$1UDF\$1LOG.

**catatan**  
Handler log Amazon Redshift UDF lolos dari karakter baris baru (`\n`), pipe (), dan garis miring terbalik (`|`) dengan karakter garis miring terbalik (`\`). `\`

Secara default, level log UDF diatur ke PERINGATAN. Pesan dengan tingkat log PERINGATAN, KESALAHAN, dan KRITIS dicatat. Pesan dengan tingkat keparahan yang lebih rendah INFO, DEBUG, dan NOTSET diabaikan. Untuk mengatur tingkat log UDF, gunakan metode logger Python. Misalnya, berikut ini menetapkan tingkat log ke INFO.

```
logger.setLevel(logging.INFO)
```

Untuk informasi selengkapnya tentang penggunaan modul logging Python, lihat [fasilitas Logging untuk Python dalam dokumentasi Python](https://docs.python.org/2.7/library/logging.html).

Contoh berikut membuat fungsi bernama f\$1pyerror yang mengimpor modul logging Python, membuat instance logger, dan mencatat kesalahan.

```
CREATE OR REPLACE FUNCTION f_pyerror() 
RETURNS INTEGER
VOLATILE AS
$$
import logging

logger = logging.getLogger()
logger.setLevel(logging.INFO)
logger.info('Your info message here') 
return 0
$$ language plpythonu;
```

Contoh berikut query SVL\$1UDF\$1LOG untuk melihat pesan yang dicatat dalam contoh sebelumnya.

```
select funcname, node, slice, trim(message) as message 
from svl_udf_log;

  funcname  | query | node | slice |   message  
------------+-------+------+-------+------------------
  f_pyerror | 12345 |     1|     1 | Your info message here
```