Get Infolog details from code
Filed under: #daxmusings #bizapps
On the Dynamics AX Community forums, the question was asked how to get detailed information on the type, message and prefixes of messages in the infolog. The original post can be found here. This type of code usually happens in modifications that need to somehow keep a log of sorts, so that the infolog details can be retrieved from somewhere even after a user has closed the infolog screen.
Well, it all revolves around containers. The infolog class has a “copy” and a “cut” method that return the contents of the infolog, in container form. The elements in the container are containers themselves, each one corresponding to a line in the infolog. So you get the container, loop over it, and for each iteration you can grab the sub-container and extract the details like the exception type, action class, helptext, etc.
I guess a code sample says more than a thousand words:
static void InfologParse(Args _args) { container infologCon, infoline; Exception exception; int i; str message; str helpURL; ClassName actionClassName; container actionClassOptions; ; // Put test data in infolog setPrefix("First Prefix"); error("test error"); warning("test warning"); setPrefix("One more level"); info("infolog!"); // Get the infolog data and clear the messages (cut) infologCon = infolog.cut(); for(i=1; i<=conLen(infologCon); i++) { infoline = conPeek(infologCon, i); exception = conPeek(infoline, 1); message = conPeek(infoline, 2); helpURL = conLen(infoline) > 2 ? conPeek(infoline, 3) : ''; if(conLen(infoline) > 3 && conPeek(infoline, 4)) { actionClassName = classId2Name(conPeek(infoline, 4)); actionClassOptions = conPeek(infoline, 5); } info(strFmt("Type: %1; Prefix: %2; Message: %3", exception, // replace the \t by / so we can see all prefixes strReplace(message, '\t', '/'), // copy the message from the last occurance of the \t to the end subStr(message, strScan(message, '\t', strLen(message), -strLen(message)) + 1, strLen(message)))); } }
</code>
There is no comment section here, but I would love to hear your thoughts! Get in touch!
Blog Links
Blog Post Collections
- The LLM Blogs
- Dynamics 365 (AX7) Dev Resources
- Dynamics AX 2012 Dev Resources
- Dynamics AX 2012 ALM/TFS
Recent Posts
-
GPT4-o1 Test Results
Read more... -
Small Language Models
Read more... -
Orchestration and Function Calling
Read more... -
From Text Prediction to Action
Read more... -
The Killer App
Read more...