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 را از بین میبرد.
