පසුගිය සතියේ මට ලොග් ගැටළු කිහිපයක් හමුවුනා. ඒ හරහා හොඳ ලොග් සැකසීමේ වැදගත්කම තේරුම් ගත හැකි වුණා. වැඩ කරන ආයතනයේ traceability වැඩි කරගැනීම අපේ ප්රධාන ඉලක්කයක් වන අතර, ලොග් නොමැතිව අපි පද්ධතියේ කාර්යභාරය හෝ බග් එකක් හඳුනා ගැනීමට අමාරුයි.
අපගේ කේත පද්ධතියේ බොහෝ මාර්ගවල ලොග් නොමැති වීම නිසා, යෙදුමක් කෙලින්ම ක්රියා නොකළ අවස්ථාවලදී අපි කුමක් සිදු වෙයි කියලා හොඳින් නොදැන සිටියා. ඒ අතර, මෑතකදී QA සමඟ පරීක්ෂා කරන විට, පෝඩ් ලොග් එකක "Error to processing the message, sending message to DLQ" යන පණිවුඩයක් දැකලා RabbitMQ හි DLQ (Dead Letter Queue) එකක් නොමැති බව තේරුම් ගත්තා.
මූලිකවම, DLQ එකක් නිර්මාණය කරලා නැතිව, කේතයේ else කොටසක් තුළ එම ලොග් පණිවුඩයක් පමණක් ලියලා තිබුණා. එම නිසා පණිවුඩය අහිමි වී, අපි DLQ එකක් අපේ පද්ධතියේ ආධාරකයක් ලෙස සැලකිල්ලට ගත්තෙමු. මේ වගේ වැරදි ලොග් එකක් නිසා පැය ගණනාවක කාලයක් වැය කරලා හේතුව හොයාගන්න වුණා.
ලොග් එකක් නිවැරදිව සකස් කිරීමේ වැදගත්කම තේරුම් ගැනීම සඳහා, පණිවුඩයේ අර්ථය පැහැදිලිව ලියන්න, සුදුසු ලෙවල් (INFO, WARN, ERROR) තෝරන්න, සහ අත්යවශ්ය තොරතුරු (timestamp, request ID) ඇතුළත් කරන්න. එසේ නොකළහොත්, ලොග් එක බොත්තමක් වශයෙන් පමණක් පෙනෙයි, නමුත් නිරාකරණයට උපකාරී නොවේ.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තරුණ සංවර්ධකයන්, විද්යාල සිසුන්, සහ ව්යාපාරිකයින් සඳහා මෙම පඬිවලින් ලැබෙන ප්රතිලාභ මෙසේය:
- අධ්යාපනික වශයෙන් – නිවැරදි ලොග් ලේඛන කිරීමේ හොඳ උදාහරණයක් ලෙස පාඨමාලා සහ වැඩමුළු වලට ඇතුළත් කළ හැකිය.
- ව්යාපාරික වශයෙන් – නිෂ්පාදන පරිසරයේ අඩු downtime, පණිවුඩ අහිමි වීමේ අවදානම අඩු කිරීම, සහ පාරිභෝගික විශ්වාසය වැඩි කිරීම.
- දියුණුකරණ වශයෙන් – ලොග් විශ්ලේෂණ මෙවලම් (ELK, Splunk) භාවිතය ඉගෙන ගැනීම, සහ සාර්ථක DevOps ක්රියාමාර්ග ගොඩනැගීම.
ඉදිරියට, ලොග් පරීක්ෂා කිරීමට UI/UX‑මය interface එකක් භාවිතා කරන ආකාරය, log level ගුණාත්මක කිරීම, සහ log retention policy පිළිබඳව ලිපි රචනා කිරීමට අපි සැලසුම් කරගෙන සිටිමු.
අවසානයේ, ලොග් එකක් සැකසීමේදී “ඇත්තේ කුමක්ද?” යන ප්රශ්නයට පිළිතුරු දෙන ලෙස ලියන්න. එවිට පද්ධතියේ ගැටළු ඉක්මනින් හඳුනාගෙන, වේගවත් විසඳුම් ලබා දිය හැකිය.