چرا لاگ زدن به شکلی که معمولا استفاده میشه بده و بهتره رویکردمون رو عوض کنیم.
روش که این سایت پیشنهاد میده، Wide logهستش. ایدهی کلیش اینه که به ازای هر درخواست کاربر یه لاگ داشته باشید که در اون تمام اطلاعات لازم وجود داشته باشه. از اطلاعات ساده مثل متد ریکوئست http تا اطلاعات با cardinality بالاتر مثل user_id
همچنین میگه که strucured logging و open telemetry اگرچه که خوب هستن ولی ابزار و استاندارد هستن ولی چیزی که ما میخوایم روحیه مناسبه.
روشی که برای پیادهسازیش هم توی سمپلکدها پیشنهاد میده اینه که در طی روند پردازش درخواست اطلاعات لازم رو توی یه آبجکت event نگه داریم و به همهی تابعها پاسش بدیم، در نهایت وقتی کارمون انجام شد توی یه Middleware چاپش کنیم. (من البته خیلی با این روش موافق نیستم چون خطای انسانیش زیاده در فلوهای مختلف و اونطوری ما هیچ لاگی نداریم)
برای کاهش تعداد لاگ هم sample کردن رو پیشنهاد میده. با یه سری شرط مثل این که کاربرای داخلی و مهم (مثل QAها) و جاهایی که خطا داشتیم یا کند بودیم به همراه یه درصد کمی از درخواستهای عادی.
https://loggingsucks.com/
Post #3262
2.38K