tgoop.com/pyHints/439
Last Update:
تنها هندلر تعریف شده براش چون console هست درخواست به handlers و console ارسال میشه و اینجا کلاس تعریف شده براش rich هست (برای همین خروجی توی کنسول همچنان رنگی هست) و برای فرمت لاگ handlers درخواست رو باید برای formatters و بطور خاص file ارسال کنه. قشنگی داستان اینجاس که file از کلاس
pythonjsonlogger.jsonlogger.JsonFormatter
استفاده میکنه من بازم فرمت datetime رو استاندارد کردم و فرض کردم تعداد درخواست های به سرورم زیاد و در حد هزارم میلیثانیه هست برای همین %(msecs)03d
یعنی تا هزارم میلی ٍثانیه رو هم اضافه کردم.
خط آخر یعنی format خیلی باشعور هست python-json-logger میگه تو فقط به من بگو چی رو لاگ بندازم فرمت معنی نداره من از اون مقدار بعنوان key استفاده خواهم کرد؛ و چیزی که برای اون میاد رو value در نظر میگیرم.
لیست کامل این موارد رو روی داکیو.منت logging میتونید بخونید و حتی میتونید format خودتون رو هم تعریف کنید (مثلا شماره موبایل رو جدا بگیره) اما حواستون باشه حتما باید json serializable باشه.
توی مثال بعدی fileRotate رو میگم که بسیار استفاده میشه؛ و بعد هم یکم کاستوم کلاس برای فیلتر مینویسیم که شماره موبایل اگر توی لاگ بود بصورت کامل نمایش داده نشه
همون باگی که گفتم دولوپرهای اون شرکت داشتند.
BY Python Hints

Share with your friend now:
tgoop.com/pyHints/439
