The morphyc architecture provides advanced logging capabilities that can be used to easily track the message flows through an application and to debug problems quickly.
This is accessible from the Dashboard with the ability to view incoming and outgoing messages as well as the execution of rules within nodes. Access is also provided to RuleMaker to enable in-place creation of xpaths using the actual runtime messages.
Within the design studio, the Dashboard link is available in the context menu of the main Project screen. Please see next section for details on how to install and start the Dashboard within a runtime environment.
At the top of the dashboard screen there are buttons to view the different types of logging information. Clicking any of these buttons will process the appropriate log files, and show the contents in the main part of the screen.
When viewing the main developer logs, the dashboard shows the full flow of the XML data between all the nodes (agents) within the application. By default, the Agent Messages for each agent are show. These contain the XML content of the incoming and outgoing messages. To see more details of the processing that actually occurred inside the node, the Show more details links can be clicked.
For each log entry, you can click on the View Detail link to see the actual XML content at that point, or any other information relevant to the particular log. Alternatively, the Copy XML link can be used to copy the contents of this XML information to your clipboard, to then paste into a different application.
The View in RuleMaker link is very useful during the development process. clicking this link will open up a RuleMaker window showing the details for the rule that the selected link was for. This will also pass through the contents of the XML message from the selected log, so that the rule XPaths can be easily checked against the runtime data and adjusted accordingly. Please refer to the RuleMaker user guide for more information on how to use RuleMaker.
To further help with visualising the data flow, the Dashboard will attempt to highlight log entries that represent communication with a remote service. These are shown in a different colour to make them easily identifiable.
Configuring logging for Production and Development Environments
There is a large amount of flexibility in terms of what information is logged by the platform. For example, the approach shown in the following screen shot may prove useful in a production environment, where minimal logging is required, but certain nodes (such as proxies to remote services) need to be monitored to isolate application problems. However, in a development environment you may wish to log all messages across all nodes to enable easier debugging during development. The Morphyc Platform uses the same logging mechanism and Dashboard within development and production environments. The key differences between the different types of deployment is determined by the settings of individual parameters.
Refresh Logs
Refreshing the logs will delete the current log file and should be used whenever any changes are made to the logging configuration information to ensure the changes are applied to the running platform. This feature can be used to remove current log files if they become too large and difficult to navigate. Please note that this feature does not require the restarting of the runtime server.
Easier Log Viewing with Display Filters
The display filters allow customisation of how much detail is shown on the screen. Simply checking or unchecking the boxes will apply or remove the filters, dynamically adjusting the amount of information that is displayed on the screen. Please note that this is different to the contents of the actual log file. The log file and associated configuration parameters control how much information is captured within the log files when applications execute. The Display Filters simply restrict the view on the underlying log files.
Run Application
The Run Application link in the top right section of the page allows the user to load up the start page of the application directly from the Dashboard.