Laravel - การจัดการข้อผิดพลาด
เว็บแอปพลิเคชันส่วนใหญ่มีกลไกเฉพาะสำหรับการจัดการข้อผิดพลาด ใช้สิ่งเหล่านี้ติดตามข้อผิดพลาดและข้อยกเว้นและบันทึกเพื่อวิเคราะห์ประสิทธิภาพ ในบทนี้คุณจะได้อ่านเกี่ยวกับการจัดการข้อผิดพลาดในแอปพลิเคชัน Laravel
จุดสำคัญ
ก่อนดำเนินการต่อเพื่อเรียนรู้รายละเอียดเกี่ยวกับการจัดการข้อผิดพลาดใน Laravel โปรดสังเกตประเด็นสำคัญต่อไปนี้ -
สำหรับโปรเจ็กต์ใหม่ Laravel จะบันทึกข้อผิดพลาดและข้อยกเว้นในไฟล์ App\Exceptions\Handlerคลาสโดยค่าเริ่มต้น จากนั้นจะส่งกลับไปยังผู้ใช้เพื่อทำการวิเคราะห์
เมื่อแอปพลิเคชัน Laravel ของคุณตั้งอยู่ในโหมดดีบักข้อความแสดงข้อผิดพลาดโดยละเอียดพร้อมสแต็กเทรซจะแสดงในทุกข้อผิดพลาดที่เกิดขึ้นภายในเว็บแอปพลิเคชันของคุณ
โดยค่าเริ่มต้นโหมดดีบักจะถูกตั้งค่าเป็น false และคุณสามารถเปลี่ยนเป็น true. สิ่งนี้ช่วยให้ผู้ใช้สามารถติดตามข้อผิดพลาดทั้งหมดด้วยสแต็กเทรซ
การกำหนดค่าโครงการ Laravel ประกอบด้วยไฟล์ debugตัวเลือกที่กำหนดว่าจะแสดงข้อมูลเกี่ยวกับข้อผิดพลาดให้กับผู้ใช้มากเพียงใด โดยค่าเริ่มต้นในเว็บแอ็พพลิเคชันตัวเลือกจะถูกตั้งค่าเป็นค่าที่กำหนดไว้ในตัวแปรสภาพแวดล้อมของ.env ไฟล์.
ค่านี้ตั้งเป็น true ในสภาพแวดล้อมการพัฒนาท้องถิ่นและตั้งค่าเป็น false ในสภาพแวดล้อมการผลิต
หากตั้งค่าเป็น true ในสภาพแวดล้อมการผลิตความเสี่ยงในการแบ่งปันข้อมูลที่ละเอียดอ่อนกับผู้ใช้ปลายทางจะสูงกว่า
บันทึกข้อผิดพลาด
การบันทึกข้อผิดพลาดในเว็บแอปพลิเคชันช่วยในการติดตามและวางแผนกลยุทธ์ในการลบข้อผิดพลาด ข้อมูลบันทึกสามารถกำหนดค่าได้ในเว็บแอปพลิเคชันในconfig/app.phpไฟล์. โปรดสังเกตประเด็นต่อไปนี้ในขณะที่จัดการกับ Error Log ใน Laravel -
Laravel ใช้ไลบรารีบันทึก PHP คนเดียว
พารามิเตอร์การบันทึกที่ใช้สำหรับการติดตามข้อผิดพลาดคือ single, daily, syslog และ errorlog.
ตัวอย่างเช่นหากคุณต้องการบันทึกข้อความแสดงข้อผิดพลาดในไฟล์บันทึกคุณควรตั้งค่าบันทึกในการกำหนดค่าแอปของคุณเป็น daily ดังแสดงในคำสั่งด้านล่าง -
'log' => env('APP_LOG',’daily’),
ถ้า daily โหมดบันทึกถูกใช้เป็นพารามิเตอร์ Laravel จะบันทึกข้อผิดพลาดเป็นระยะเวลาหนึ่ง 5 days, โดยค่าเริ่มต้น. หากคุณต้องการเปลี่ยนจำนวนไฟล์บันทึกสูงสุดคุณต้องตั้งค่าพารามิเตอร์ของไฟล์log_max_files ในไฟล์คอนฟิกูเรชันเป็นค่าที่ต้องการ
‘log_max_files’ => 25;
ระดับความรุนแรง
เนื่องจาก Laravel ใช้ไลบรารีการบันทึก PHP แบบคนเดียวจึงมีพารามิเตอร์ต่างๆที่ใช้ในการวิเคราะห์ระดับความรุนแรง ระดับความรุนแรงต่างๆที่พร้อมใช้งาน ได้แก่error, critical, alert และ emergency messages. คุณสามารถกำหนดระดับความรุนแรงดังที่แสดงในคำสั่งด้านล่าง -
'log_level' => env('APP_LOG_LEVEL', 'error')