غیرفعالکردن کامل لاگها در Laravel
در بسیاری از پروژههای لاراول، به ویژه پروژههای کوچک یا داخلی، فایل storage/logs/laravel.log بهمرور زمان بزرگ میشود. در حالی که نه مانیتورینگی روی آن وجود دارد و نه کسی آن را بررسی میکند.
در این شرایط، ذخیرهٔ لاگها هیچ ارزش عملی ایجاد نمیکند و باعث اتلاف فضای دیسک و کاهش عمر آن میشود.
در این مقاله راه حل غیرفعال کردن لاگ لاراول را در نگارش ۱۲ و احتمالا نسخههای بعدی بررسی میکنیم.
چه زمانی غیرفعالکردن لاگها تصمیم درستی است؟
غیرفعالکردن لاگها همیشه تصمیم درستی نیست، اما در این سناریوها کاری منطقی است:
پروژه مانیتورینگ (Sentry، Bugsnag، ELK و …) ندارد
خطاها به روش دیگری گزارش میشوند
لاگها فقط در سطح debug تولید میشوند و بررسی نمیشوند
برنامه روی سرورهایی با فضای دیسک محدود اجرا میشود
پروژه داخلی یا موقت است و نیاز به نگهداری طولانیمدت لاگها ندارد
در این شرایط، ذخیرهٔ لاگ مزیتی ندارد و تنها یک فایل بدون کاربرد با حجم زیاد را ایجاد میکند.
راه حل توقف ایجاد فایل لاگ
اولین راه حلی که ممکن است به نظر برسد، تنظیم این مقدار در فایل .env است.
اما در Laravel 12 این تنظیم در عمل کار نمیکند و فایل لاگ همچنان ایجاد میشود و حجم آن افزایش پیدا میکند.
تعریف کانال نال در تنظیمات لاراول به بکلینک چیست این شکل انجام شده است.
به دلیل اینکه مقدار null در لاراول یک حالت کنترلی داخلی است، نه یک کانال واقعی که قابل تخصیص باشد. لاراول آن را نادیده میگیرد و ممکن است از کانالهای جایگزین استفاده کند.
راهحل در Laravel 12
برای حل این مشکل کار سادهای پیش روی ماست. کافیست عبارت null را به یک نام دیگر مثل discard جایگزین کنیم.
خروجی ما به شکل زیر خواهد شد:
در فایل config/logging.php
پس از انجام این تغییرات، میتوانیم در فایل .env تنظیمات لاگ را به این شکل انجام بدهیم:
اگر کانفیگ cache شده است، دستور زیر را اجرا کنید تا کش موجود حذف شود و از فایل اصلی استفاده کند.
غیرفعال کردن شرطی لاگ
با درج کدهای زیر در logging.php میتوانید در صورتی که پروژه روی سرور اصلی فعال است، لاگ را غیرفعال کنید و در زمان کدنویسی همچنان به لاگها دسترسی داشته باشید.
همچنین میتوانید فقط لاگهای کماهمیت را از خروجی حذف کنید و موارد مهم همچنان در خروجی باقی بمانند.
گزینههای دیگری که میتوانید برای سطح خطاها تعیین کنید به شکل زیر هستند:
در حالت پیشفرض یا debug تمام خطاها لاگ میشوند، با تعیین سطوح پایینتر، خطاهای مهمتر ذخیره میشوند و خطاهای کماهمیتتر نادیده گرفته میشوند.
به اشتراک گذاشتن، ادامهی مسیر اندیشه است، نه پایان آن
بیشتر بخوانید:
Middleware در لاراول( Laravel ) چیست ؟
چرا لاراول بهترین گزینه برای طراحی سایتهای حرفهای است؟
ارزیابی و مدیریت ریسک در برنامهنویسی وب با لاراول
نصب لاراول روی سرور ویندوزی – نکات و محدودیتها
آنالیز سئو سایت چیست و چه طور انجام میشود ؟
محبوبترین فریمورکهای پایتون برای طراحی سایت
طراحی سایت برای نسل Z – سلیقهها و ویژگیهای مورد نیاز
IoC یا Inversion of Control در برنامهنویسی چیست ؟
چیزهایی که قبل از طراحی سایت باید بدانید
نکات کاربردی و سئو طراحی سایت چندزبانه با لاراول
هاست مناسب برای لاراول – نکات مهم و راهنمای انتخاب
آموزش نصب لاراول روی XAMPP در ویندوز
دیدگاهتان را بنویسید لغو پاسخ
نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند *
دیدگاه *
نام *
ایمیل *
وب سایت

