Logging membantu Anda untuk melacak program / aplikasi yang Anda jalankan. Ini menyimpan keluaran/kesalahan/pesan/pengecualian apa pun yang ingin Anda simpan. Eksekusi program dapat di-debug dengan bantuan pernyataan cetak selama runtime kode. Tapi kodenya tidak elegan dan bukan praktik yang baik. Logging adalah proses standar yang harus diikuti aplikasi untuk menyimpan proses dalam file log yang akan membantu menganalisis/men-debug di masa mendatang/situasi tak terduga
Mencatat pengecualian
Untuk logger, kami memiliki tingkat pencatatan pesan yang berbeda. Karena artikel ini terbatas pada logging pengecualian, kami akan menggunakan pesan log level 'INFO' yang membantu kami memeriksa apakah kode berfungsi seperti yang diharapkan. Jika ada pengecualian, itu akan menyimpan pengecualian ke dalam file log menggunakan logger objek logger. pengecualian ("beberapa pengecualian muncul")
Di bawah ini adalah implementasinya
import logging
from functoolsimport wraps
_
def create_logger():
logging_0
logging1logging2
logging1logging4logging5 logging6logging7logging8
logging1from0
logging_0
logging1from3
logging1from5
logging1from7logging5 from9functools0logging8
logging_0
logging1functools4logging5 functools6
logging1functools8logging5 import0
logging_0
logging1import3
logging1import5
logging_0
logging1import8 logging4
_
logging4logging5 wraps4
wraps_6
wraps_7
wraps8wraps9
_
def 3
logging_0
logging1 6
logging1 8
logging1 0
logging1def 3
4
5 6 7
5def def0def1def2def1def1def5
def_6
def7def8def9
create_logger(): 0import8 create_logger(): 2def1def2def1def1create_logger(): 7
def_6
def7logging00def9
create_logger(): 0logging03logging5 logging05logging1_______06logging07logging06logging09
create_logger(): 0logging03logging5 logging03logging06logging15logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging41
create_logger(): 0logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging16logging91