Membuat CRUD Service Produk Bagian 5 - TDR File Log

Subscribe Dengan Account Google Untuk Membaca Artikel Tanpa Iklan
Membuat CRUD Service Produk Bagian 5 - TDR File Log

Pada tutorial sebelumnya kita sudah membuat decorator auth user untuk memberikan permission pada service produk yang kita buat

Di bagian ke 5 dari tutorial CRUD Service Produk kita akan belajar tentang TDR.

Apa itu TDR ?


TDR adalah kepanjangan dari Transaction Data Record, biasanya TDR menyimpan request dan response body dari service yang kita buat.

Fungsi dari TDR sendiri sebagai bagian dari system audit trail. Dalam sistem yang komplek kemudahan tentang error tracing menjadi salah satu kunci kesuksesan implementasi sebuah sistem.

Bayangkan saja jika Anda mempunya sebuah service, yang setiap detik menerima ribuan request, dan ada puluhan request yang mendapat response error berbeda.

Error response ini membutuhkan penyelesaian masalah yang cepat, di sini TDR berperan penting membantu team operation untuk membuat error report warning ke stakeholder terkait.

TDR juga membantu developer mengurangi beban kerja untuk troubleshoot, dengan adanya TDR developer akan lebih percaya diri menghadapi ledakan traffic, karena biasanya saat service di banjiri traffic system akan cenderung error atau bahkan service client terkena timeout.

TDR sendiri juga bisa menjadi sumber data analytic yang bisa di konsumsi oleh tools monitoring seperti kibana, grafana dan yang lainya.

Di tutorial ini ada beberapa tahapan yang perlu Anda ikuti :

1) Buat direktori middleware di main project Anda.


Dibagian ini Anda perlu membuat sebuah direktori dengan nama middleware, kemudian buat sebuah file dengan nama request_log.py, perhatikan kode berikut:

class RequestLogMiddleware:
"""Request Logging Middleware."""

def __init__(self, get_response):
pass

def __call__(self, request):
pass
return

# Log unhandled exceptions as well
def process_exception(self, request, exception):
try:
raise exception
except Exception as e:
pass
return exception

2) Modifikasi config "MIDDLEWARE" di file settings.py


MIDDLEWARE = [
'...',
"{directory-name}.middleware.request_log.RequestLogMiddleware",
]

3) Konfigurasi LOGGING


Tambahkan konfigurasi LOGGING pada baris akhir dari kode di file settings.py dengan code di bawah ini:
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'standard': {},
},
'handlers': {
'logfile': {
'level':'INFO',
'class':'logging.handlers.RotatingFileHandler',
'filename': "{}/logs/tdrlog.log".format(BASE_DIR),
'maxBytes': 5000,
'backupCount': 2,
'formatter': 'standard',
},
'console':{
'level':'INFO',
'class':'logging.StreamHandler',
'formatter': 'standard'
},
},
'loggers': {
'django': {
'handlers':['console'],
'propagate': True,
'level':'WARN',
},
'django.db.backends': {
'handlers': ['console'],
'level': 'INFO',
'propagate': True,
},
'api': {
'handlers': ['logfile'],
'level': 'INFO',
},
}
}

4) Lakukan Pengujian


Lakukan pengujian dengan mengirim data ke service product melalui postman

5) Ikuti tutorial lengkap di video berikut ini


Video :

Githubhttps://github.com/halovina/hvsuserservice/tree/product-bagian-5

Baca artikel lainya :