Options for external logging
Options exist for obtaining and storing Process logs outside Frends.
In order to have more control over your data in Frends, or for performing more complex querying and analysis to your Frends Process logs, it is possible to have Frends transfer the Process Instance logs to an external platform. Some of these methods can also be used to store more logged data than what Frends can handle.

Using Frends Platform API
Data logged by Frends can be queried by using the Frends Platform API. In this model, the Processes are logged normally and according to your log settings for each Agent Group, and the logs are stored within Azure Storage and the Agent databases as is the standard in Frends.
When you need access to the logged data, you can make API requests to the Frends Platform API to obtain those for further processing. You will need first to set up the Platform API for your Tenant. While it makes it possible to obtain the log data from outside Frends, you can also implement Frends Processes to make the analysis for you, as the Platform API is easy to call from within Frends as well.
Because the logged data is still stored with Frends, this does not alleviate possible capacity issues that large amount of Frends logging can have. This method also cannot obtain data that was not logged in Frends in the first place, nor access the logged data in almost real time fashion, as the logged data must be queried after the Process executions.
Using Frends Processes and Subprocesses
Instead of relying on the Frends logging, it's also possible to implement your own logging mechanism as part of your Processes as a Subprocess or directly for example as an SQL operation, if the external logging system is a SQL database.
Using this method, which relies on following development guidelines for your Processes to obtain the logged data, allows you to specify, gather and store data flexibly during the Process executions, and does not rely on the built-in logging mechanisms in Frends. All the data that is stored with Frends logging by default is also available to use within the Processes for your own logging mechanisms. As the data can be delivered during Process executions, it's possible to also read and analyze the incoming data in almost real time, if your target platform and system allows it.
Because this model does not rely on the Frends built-in logging mechanisms but instead is developed as part of your Processes, all Frends logging can be disabled without affecting the Process executions and thus your own logging mechanism. It's also possible to have both supporting each other, with external logging for more detailed data analysis, and Frends logging for technical details and error management.
Because the logging relies on the Process executions to work, the Processes need to be built to be more robust and often more complex than what they otherwise would need to be. Especially error handling should be a major focus if using this method, as failing error handling may also mean that no data is logged at all.
Having a well documented Process development guideline that is being followed strictly during development will help in achieving a functional logging set up.
Exporting Frends logged data directly
By configuring the Frends Agent application settings during deployment, it's also possible to have the Frends default logged data to be written in a custom location from where you can use Frends or external systems to read them for further analysis.
For example, you can configure the LogStepStoreUri option in the settings file to point Frends to store Process step data to a local or network file location, or to an Azure Blob Storage of your own choosing instead of using the default storage provided by Frends.
As the method is dependant on Frends logging, it cannot be disabled entirely to obtain the necessary data, but it can alleviate capacity issues with Frends logging by using more performant target storage system than what is available by default.
Last updated
Was this helpful?