PHP Logging သည် application ပြ problems နာများကိုရှာဖွေဖော်ထုတ်ခြင်းနှင့်ဖြေရှင်းခြင်းအတွက်အရေးကြီးသောကိရိယာတစ်ခုဖြစ်သည်။ သစ်ထုတ်လုပ်ခြင်းကိုမှန်ကန်စွာပြင်ဆင်ခြင်း, မှတ်တမ်းအဆင့်ဆင့်ချိန်ညှိခြင်း, ပုံစံချခြင်း, မှတ်တမ်းတင်ခြင်းများကိုချိန်ညှိခြင်းနှင့်မှတ်တမ်းများကိုတကယ့်အချိန်တွင်ကြည့်ရှုစောင့်ကြည့်ခြင်းမှတ်တမ်းများကို PHP applications များရှိအမှားများကိုလျင်မြန်စွာဖော်ထုတ်နိုင်ပြီးဖြေရှင်းနိုင်သည်။ PHP Logs ကိုခွဲခြမ်းစိတ်ဖြာရန်အဆင့်များ -
PHP logs များကိုစတင်ခွဲခြမ်းစိတ်ဖြာရန်သင်၏ PHP configuration တွင် logging ကိုပထမဆုံးပြုလုပ်ရန်လိုအပ်သည်။ အောက်ပါတို့ကို PHP.INI Configuration ဖိုင်တွင်ထည့်ပါ။
error_log
= /path/to/php.log
သင် log files များကိုသိမ်းဆည်းထားသည့်နေရာနှင့်အတူ "Path / to / Php.Log" ကိုအစားထိုးပါ။
PHP သည် log အဆင့်အမျိုးမျိုးကိုပေးထားသည်။ သင်၏လျှောက်လွှာ၏လိုအပ်ချက်နှင့်အညီသင်ကွဲပြားသောမှတ်တမ်းအဆင့်များကိုရွေးချယ်နိုင်သည်။ error_log()
function ကိုမှတဆင့်မှတ်တမ်းအဆင့်ကိုသတ်မှတ်ပါ။ အောက်ဖော်ပြပါများသည်များသောအားဖြင့်အသုံးပြုသော log level များဖြစ်သည်။
ဥပမာအားဖြင့်, သတိပေးစာတစ်စောင် log:
error_log
('错误消息', E_WARNING);
မှတ်တမ်းထည့်သွင်းမှုတွင်ပြ problem နာကိုရှာဖွေရန်အထောက်အကူပြုရန်လုံလောက်သောသတင်းအချက်အလက်များပါ 0 င်သင့်သည်။ မှတ်တမ်းမှတ်တမ်းတစ်ခုစီတွင် timestamp, log level, message, source file နှင့် line နံပါတ်ကဲ့သို့သောအချက်အလက်များပါ 0 င်ရန်အကြံပြုသည်။ မှတ်တမ်းအချက်အလက်များကိုပုံစံလုပ်ရန် var_export()
သို့မဟုတ် print_r()
သုံးနိုင်သည်။
error_log
(var_export($error_message, true));
အချိန်နှင့်တပြေးညီ debugging အတွက် tail -f
command ကို သုံး. PHP log files များကိုအချိန်နှင့်တပြေးညီစောင့်ကြည့်ရန်သင်အသုံးပြုနိုင်သည်။
tail -f /path/to/php.log
မေးခွန်းမေးခွန်း -
လျှောက်လွှာသည် "ပျောက်ဆုံးနေသော parameter" အမှားတစ်ခုဖြစ်သော "Funal Eritameter" အမှားကိုဖွင့်သောအခါ logging သည်ပျောက်ဆုံးနေသောပျောက်ဆုံးနေသော parameters များကိုလည်းသတိပေးနိုင်သည်။
log entries တွေကို:
[05-May-2023 10:15:32] E_ERROR: Fatal error: Uncaught Error: Missing argument 2 for Controller::index()
ခွဲခြမ်းစိတ်ဖြာ:
Controller::index()
နည်းလမ်းကိုခေါ်ဆိုသောအခါဒုတိယ parameter သည်ဒုတိယ parameter ပျောက်ဆုံးနေကြောင်းဖော်ပြသည်။ ကုဒ်ကိုစစ်ဆေးပြီးလိုအပ်သမျှသော parameters တွေကိုအားလုံးလွန်ကြောင်းသေချာအောင်လုပ်ပါ။
Log files များကိုသိပ်ကြီးလွန်းခြင်းမှကာကွယ်ရန် log files များသည်အကန့်အသတ်မရှိကြီးထွားစေရန်သေချာစေရန် log rotation ကိုသတ်မှတ်နိုင်သည်။ ဤတွင်သာမန်မှတ်တမ်းလှည့ ်. configuration ကိုဤတွင်ရှိသည်။
logrotate /path/to/php.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
}
ဤပြင်ဆင်မှုသည် log files များကိုနေ့တိုင်းလှည့်ပြီးလွန်ခဲ့သော 7 ရက်အတွင်းမှတ်တမ်းများကိုသိမ်းဆည်းထားသည်။
logs များကိုထပ်မံခွဲခြမ်းစိတ်ဖြာရန် Splake သို့မဟုတ် Elk Stack ကဲ့သို့သောအထူးမှတ်တမ်းခွဲခြမ်းစိတ်ဖြာကိရိယာများကိုသင်အသုံးပြုနိုင်သည်။ ဤကိရိယာများသည်ပြ problems နာများကိုအလျင်အမြန်ဖော်ထုတ်နိုင်ပြီး log ခွဲခြမ်းစိတ်ဖြာမှုဖြစ်စဉ်များကိုပိုမိုကောင်းမွန်စေရန်ကူညီရန်ဤကိရိယာများသည်ပိုမိုအားကောင်းသည့်စစ်ထုတ်ခြင်း, ရှာဖွေခြင်းနှင့်စုစည်းခြင်းစွမ်းရည်များကိုပိုမိုအားကောင်းစေသည်။
PHP logging လုပ်ခြင်းအားဖြင့်သင့်တော်သောမှတ်တမ်းအဆင့်ဆင့်ကိုသတ်မှတ်ခြင်းအားဖြင့် logatting log entries များကို format လုပ်ခြင်း, log entries များကိုအချိန်မှန်စောင့်ကြည့်ခြင်းနှင့် log ကိုပုံမှန်လှည့်ပြီးသင်လျှောက်လွှာတွင်ပြ issues နာများကိုဖြေရှင်းနိုင်သည်။ Log ခွဲခြမ်းစိတ်ဖြာဗွီဒီယိုများနှင့်ပေါင်းစပ်ပြီးအမှားအယွင်းများကိုပိုမိုထိရောက်စွာဖြည့်ဆည်းပေးနိုင်ပြီးအကောင်းဆုံးဖြစ်သည်။