JS မှာ Object literal တွေသုံးပြီး moudle တွေရေးကြတယ် Module ထဲမှာ method တွေရှိတယ်ဆိုပါစို. method တွေများလာလေလေ app ကနေ ဘယ် method ကိုခေါ်သွားတယ်ဆိုတာ ကြည့်ချင်မယ်ဆိုပါစို.။ တချိန်တည်းမှာပဲ အဲ့ဒီ လို method တခုချင်းကို log လိုက်မလုပ်ကြည့်ချင်ဘူး။
နောက် code ကိုလဲ တကြောင်းလောက် on off လုပ်ယုံနဲ. module ထဲက method တွေခေါ်သွားရင် log လုပ်ပေးမယ်ပေါ့။
Idea ကတော့ AOP Programming ကိုသုံးပြီး log လုပ်တာမျိုးပါ။ တကယ်က JS မှာ ရှိတဲ့ Object literal ထဲက function တွေကို function အသစ်နဲ.အစားထိုး။ function အသစ်မှာ log ကိုရိုက်ယုံပါပဲ။
ဘာအသုံး၀င်လဲဆိုတော့ library လေးရေးထားလိုက်ရင် သူ.ကို ခေါ်လိုက်ယုံနဲ. object moudle ထဲက method တွေကို log လုပ်ပေးလိမ့်မယ် ။မလိုရင် ဖြုတ်ထားလိုက်ရုံပဲ ။ Method တခုချင်းဆီ log လုပ်ဖို.မလိုတော့ဘူး။
အောက်က code example က usage ပေါ့
http://debug.js
<script>
window.MyModule = window.MyModule || {};
MyModule.methodOne = function()
{
console.log(‘Module Method one’);
};
MyModule.methodTwo = function()
{
console.log(‘Module Method two’);
};
//This line activate logging
AOPDebugger.watch( MyModule,’MyModule’);
MyModule.methodOne();
MyModule.methodTwo();
</script>
library ကနေပြီးတော့ methodOne , methodTwo ကို runtime မှာပြင်မယ်။ log ထုတ်ပေးလိမ့်မယ်။ methodOne ကိုမခေါ်ခင် method တွေရဲ. semantic ကတော့မပြောင်းဘူး။ App ကြီးလာရင် log လုပ်ဖို. အတော်အသုံး၀င်တယ်။
အရင်က code တွေပါ။ သတိရလို.တင်ပေးတာ။ library လိုချင်ရင်တော့ဒီမှာဒေါင်း။
https://github.com/mrthetkhine/JS-AOPLogger
Original link=>(https://m.facebook.com/story.php?story_fbid=pfbid06vBJNFxQb82oW1CPKWfmzaBVJcb8VNHsVThBtrkv3YELWLMsB7J8c1i4E7CU9fjUl&id=1819241055&mibextid=Nif5oz)