Restabread api ၏ကျယ်ပြန့်စွာလျှောက်လွှာများဖြင့် APIs အတွက်တည်ငြိမ်မှုနှင့်လုံခြုံရေးလိုအပ်ချက်များတိုးများလာသည်။ ဖွံ့ဖြိုးတိုးတက်မှုနှင့်ပြုပြင်ထိန်းသိမ်းမှုလုပ်ငန်းစဉ်အတွင်း API တောင်းဆိုမှုများနှင့်တုန့်ပြန်မှုမှတ်တမ်းများကိုမှတ်တမ်းတင်ခြင်းစနစ်၏ကျန်းမာသောလည်ပတ်မှုကိုသေချာစေရန်အရေးကြီးသောနည်းလမ်းတစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည် PHP ပတ် 0 န်းကျင်တွင်အနားယူမည့် API သစ်လုံးကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
မှတ်တမ်းစီမံခန့်ခွဲမှုလွယ်ကူချောမွေ့စေရန်အတွက်ကျွန်ုပ်တို့သည် PHP ၏ log class စာကြည့်တိုက်ကို Monolog သို့မဟုတ် log4php စသည့် PHP ၏ Log Class စာကြည့်တိုက်ကိုအသုံးပြုသည်။ ဤစာကြည့်တိုက်များသည်အမျိုးမျိုးသောအခြေအနေများ၏လိုအပ်ချက်များကိုဖြည့်ဆည်းပေးနိုင်သည့် configuration အတွက်ပြောင်းလွယ်ပြင်လွယ်ရှိကြသည်။ URL, parametersters များ, တုန့်ပြန်မှုအခြေအနေကုဒ်များနှင့် API မှ API မှတောင်းဆိုထားသောအခြားအချက်အလက်များကိုမှတ်တမ်းဖိုင်ထဲသို့ထည့်သွင်းခြင်းအားဖြင့်နောက်ဆက်တွဲစောင့်ကြည့်လေ့လာခြင်းနှင့်ပြ problem နာစုံစမ်းစစ်ဆေးရေးကိုထိထိရောက်ရောက်ထုတ်ဖော်ပြောဆိုနိုင်သည်။
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
// မှတ်တမ်းတစ်ခုဖန်တီးပါ,မှတ်တမ်းဖိုင်လမ်းကြောင်းနှင့်အဆင့်သတ်မှတ်ပါ
$log = new Logger('api');
$log->pushHandler(new StreamHandler('path/to/api.log', Logger::INFO));
// စံချိန်APIမေးမြန်း
$log->info('API Request:', [
'url' => $_SERVER['REQUEST_URI'],
'method' => $_SERVER['REQUEST_METHOD'],
'params' => $_REQUEST,
]);
// ကိုင်တွယ်ဖြေရှင်းသည်APIမေးမြန်း...
// ...
// စံချိန်APIတုံ့ပြန်ချက်
$log->info('API Response:', [
'status' => http_response_code(),
'data' => $response,
]);
အထက်ဖော်ပြပါဥပမာတွင် "API" အမည်ရှိမှတ်တမ်းပစ္စည်းကို monolog စာကြည့်တိုက်ကို အသုံးပြု. မှတ်တမ်းတင်ထားပြီးမှတ်တမ်းကိုသတ်မှတ်ထားသောဖိုင်သို့ရေးသားထားသည်။ URL, တောင်းဆိုမှုနည်းလမ်းနှင့် parameters များကိုတောင်းဆိုမှုအတွင်းမှတ်တမ်းတင်ထားပြီးအခြေအနေကုဒ်နှင့်တုံ့ပြန်မှုအချက်အလက်များကိုတုန့်ပြန်မှုတွင်မှတ်တမ်းတင်ထားသည်။ ၎င်းသည် API အပြန်အလှန်တစ်ခုချင်းစီ၏အသေးစိတ်အချက်အလက်များကိုရှင်းရှင်းလင်းလင်းခြေရာခံလိမ့်မည်။
အခြေခံတောင်းဆိုမှုနှင့်တုန့်ပြန်မှုအချက်အလက်များအပြင် Log ၏လက်တွေ့ကျသောတန်ဖိုးကိုမြှင့်တင်ရန်တောင်းဆိုမှု IP, User agent စသည်ဖြင့်အသေးစိတ်အချက်အလက်များကိုလည်းထပ်ထည့်နိုင်သည်။ Monolog သည်ဤအပိုဆောင်းအချက်အလက်များ၏အလိုအလျောက်ဖြည့်စွက်မှုကိုအထောက်အကူပြုသည့်ကြွယ်ဝသောပရိုဆက်ဆာနှင့်ပရိုဆက်ဆာပေါင်းစပ်မှုကိုထောက်ပံ့ပေးသည်။
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Monolog\Processor\WebProcessor;
$log = new Logger('api');
$log->pushHandler(new StreamHandler('path/to/api.log', Logger::INFO));
$log->pushProcessor(new WebProcessor());
// စံချိန်带有更多信息的APIမေးမြန်း
$log->info('API Request:', [
'url' => $_SERVER['REQUEST_URI'],
'method' => $_SERVER['REQUEST_METHOD'],
'params' => $_REQUEST,
'ip' => $_SERVER['REMOTE_ADDR'],
'user_agent' => $_SERVER['HTTP_USER_AGENT'],
]);
အထက်ဖော်ပြပါကုဒ်တွင် WebProcessor ဆိုခ်တွင်ထည့်ခြင်းအားဖြင့် Log သည်တောင်းဆိုထားသော IP address နှင့်အသုံးပြုသူကိုယ်စားလှယ်များအားအလိုအလျောက်ပါ 0 င်သည်။
PHP စီမံကိန်းများတွင်အနားယူနေသော api ၏ပြန်လည်ထူထောင်ရေးသစ်ထုတ်လုပ်ခြင်းသည်ရိုးရှင်းပြီးအရေးပါသည်။ Log စာကြည့်တိုက်ကိုဆင်ခြင်တုံတရားဖြင့်အသုံးချခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်တောင်းဆိုမှုနှင့်တုန့်ပြန်မှုအချက်အလက်များကိုအလွယ်တကူမှတ်တမ်းတင်နိုင်ရုံသာမက, ဤဆောင်းပါးသည် Monolog ကိုဥပမာတစ်ခုအဖြစ်ယူပြီးပိုမိုအားကောင်းသည့် API 0 န်ဆောင်မှုကိုဖန်တီးရန်မျှော်လင့်ရန်မျှော်လင့်ခြင်း၏အခြေခံအဆင့်များနှင့်သစ်ထုတ်လုပ်ရေးပြင်ဆင်မှုများကိုပြသသည်။