ทดสอบจุดบกพร่องของแอปพลิเคชันและพิมพ์ข้อความไปยังคอนโซล ใน java code ด้วย core mendix
Mendix Debug To Console
import com.mendix.core.Core; import java.util.List; import java.util.ArrayList; //test Core.getLogger("debug").info("messgae");
Ex. RQ
////////////////////////////////////////////////////////////////////////// // L0g Test By m1n.app Core.getLogger("RQ Debug Start = ").info("========================================================="); class PartInfo { int length; String loggerName; public PartInfo(int length, String loggerName) { this.length = length; this.loggerName = loggerName; } } // Get the final content message. String contentMessage = builder.toString(); int result = contentMessage.length(); Core.getLogger("LENGTH RQ = ").info(result); Core.getLogger("debug").info(contentMessage); // Define lengths and Logger names for each part List < PartInfo > partsInfo = new ArrayList < > (); partsInfo.add(new PartInfo(19, "ACCTNO")); partsInfo.add(new PartInfo(1, "ACTYPE")); partsInfo.add(new PartInfo(9, "RUNSEQ")); partsInfo.add(new PartInfo(1, "FILIND")); partsInfo.add(new PartInfo(8, "FRDAT8")); partsInfo.add(new PartInfo(26, "FRTIME")); partsInfo.add(new PartInfo(8, "TODAT8")); partsInfo.add(new PartInfo(26, "TOTIME")); partsInfo.add(new PartInfo(1, "WTHDORC")); partsInfo.add(new PartInfo(17, "FRTXAM")); partsInfo.add(new PartInfo(17, "TOTXAM")); partsInfo.add(new PartInfo(3, "WKTHTRAN")); int start = 0; // Log each part for (PartInfo partInfo: partsInfo) { if (start + partInfo.length <= contentMessage.length()) { String part = contentMessage.substring(start, start + partInfo.length); Core.getLogger(partInfo.loggerName).info(part); start += partInfo.length; } } Core.getLogger("RQ Debug Stop = ").info("========================================================="); // Return the content message. return contentMessage; ////////////////////////////////////////////////////////////////////////////////
Ex. RS
////////////////////////////////////////////////////////////////////////// // L0g Test By m1n.app //MBASE sizeOf_DSPHeader = 312; sizeOf_MBaseHeader = 381; -1 = 692 Core.getLogger("RS Debug Start = ").info("========================================================="); class PartInfo { int length; String loggerName; public PartInfo(int length, String loggerName) { this.length = length; this.loggerName = loggerName; } } int start = 693; //Check Length int result = socketMessageResponse.length() - 692; Core.getLogger("LENGTH RS = ").info(result); Core.getLogger("socket").info(socketMessageResponse); // Define lengths and Logger names for each part List < PartInfo > partsInfo = new ArrayList < > (); partsInfo.add(new PartInfo(19, "ACCTNO")); partsInfo.add(new PartInfo(1, "ACTYPE")); partsInfo.add(new PartInfo(9, "RUNSEQ")); partsInfo.add(new PartInfo(1, "FILIND")); partsInfo.add(new PartInfo(8, "FRDAT8")); partsInfo.add(new PartInfo(26, "FRTIME")); partsInfo.add(new PartInfo(8, "TODAT8")); partsInfo.add(new PartInfo(26, "TOTIME")); partsInfo.add(new PartInfo(1, "WTHDORC")); partsInfo.add(new PartInfo(17, "FRTXAM")); partsInfo.add(new PartInfo(17, "TOTXAM")); partsInfo.add(new PartInfo(8, "THDAT8")); partsInfo.add(new PartInfo(8, "THEFF8")); partsInfo.add(new PartInfo(9, "THSEQN")); partsInfo.add(new PartInfo(5, "THCBRN")); partsInfo.add(new PartInfo(50, "JDNAME")); partsInfo.add(new PartInfo(10, "THUSER")); partsInfo.add(new PartInfo(40, "DESC")); partsInfo.add(new PartInfo(17, "THAMTA")); partsInfo.add(new PartInfo(17, "THCBAL")); partsInfo.add(new PartInfo(26, "WTHSTIM")); partsInfo.add(new PartInfo(9, "THPODR")); partsInfo.add(new PartInfo(3, "THTRAN")); partsInfo.add(new PartInfo(1, "THDORC")); partsInfo.add(new PartInfo(9, "THCHKN")); partsInfo.add(new PartInfo(3, "THSTMT")); partsInfo.add(new PartInfo(1, "THISRC")); partsInfo.add(new PartInfo(3, "WKTHTRAN")); partsInfo.add(new PartInfo(8, "DLSTM7")); partsInfo.add(new PartInfo(17, "STMBAL")); partsInfo.add(new PartInfo(17, "WCBAL")); partsInfo.add(new PartInfo(17, "DCBAL")); partsInfo.add(new PartInfo(6, "THTIM6")); partsInfo.add(new PartInfo(5, "XCPLCN")); partsInfo.add(new PartInfo(5, "TH24CD")); partsInfo.add(new PartInfo(19, "THTACC")); partsInfo.add(new PartInfo(3, "THTBNK")); partsInfo.add(new PartInfo(10, "WTHTBKN")); partsInfo.add(new PartInfo(80, "WTHTNAM")); partsInfo.add(new PartInfo(10, "THAXTC")); partsInfo.add(new PartInfo(20, "THRECN")); partsInfo.add(new PartInfo(4, "THCURA")); partsInfo.add(new PartInfo(9, "WTOTREC")); // Log each part for (PartInfo partInfo: partsInfo) { if (start + partInfo.length <= socketMessageResponse.length()) { String part = socketMessageResponse.substring(start, start + partInfo.length); Core.getLogger(partInfo.loggerName).info(part); start += partInfo.length; } } Core.getLogger("RS Debug Stop = ").info("========================================================="); ///////////////////////////////////////////////////////////////////////////
ดูง่ายขึ้นเยอะเลย..