CodeShot
Juniorسختی 2 از ۵· در 25٪ مصاحبه‌های این حوزه پرسیده شده

Structured Logging چیست و چرا بهتر از رشتهٔ متنی ساده است؟

نشان کردن

پاسخ کوتاه

در Structured Logging پیام با Placeholder نوشته می‌شود تا داده‌ها به‌صورت فیلد جداگانه و قابل‌جستجو ذخیره شوند، نه فقط متن.

پاسخ کامل

با Structured Logging می‌توان بعداً روی مقادیر خاص (مثلاً همهٔ لاگ‌های مربوط به یک UserId) فیلتر یا جستجو کرد؛ در حالی‌که با String Interpolation ساده، همه‌چیز فقط یک رشتهٔ متنی است که تحلیل خودکارش سخت‌تر است.

مثال کد

csharp\n// خوب: logger.LogInformation(""User {UserId} logged in"", userId);\n

اشتباه رایج

استفاده از String Interpolation ($"""") به‌جای Placeholder، که مزیت اصلی Structured Logging را از بین می‌برد.