You can configure what information is logged for each execution of a Process, and how long the data is retained. You define these Process log settings per Environment. You can also override the Environment-level settings per Process if needed.
The Environment-level Process log setting defaults are managed from the Process List View for the Environment. Clicking on the "Log settings" button will open the Process log settings dialog for the selected Environment.
Log level
The Log level determines how much information is logged for each executed Process step. The following log levels are available, from least to largest amount of logged data:
The Log level determines how much information is logged for each executed Process step. The following Log levels are available, from least to largest amount of logged data:
Only errors
As the name suggests, only errors will be logged with this Log level setting. No step or subprocess execution data will be logged, which will speed up the Process execution and log message processing as a whole.
If an exception happens within the Process, then the parameters used for that Task or Subprocess will be logged along with the exception. The results of steps that are set to promote result are also logged, as always.
Note that if you have promoted results in Subprocesses or handle any exceptions without rethrowing them, the Subprocess instances themselves are not logged under the "Only Errors" log level, whereas the steps are. This may lead to redundant logging of data that you cannot actually view. The data will eventually be cleared, but for maximum performance, you should not promote results of Subprocesses under the "Only Errors" log level.
Default
The Default Log level logs results for each step executed in a graph, with the exception for Foreach elements. Parameters for Tasks and Subprocesses are not logged by default, nor is the variable references used in expressions for Condition branches or While loops. In case parameters or results are very big (over 10 000 characters), the logged value will be truncated.
The Default Log level logs results for each step executed in a graph, with the exception for Foreach Elements. Parameters for Tasks and Subprocesses are not logged by default, nor are the variable references used in expressions for condition branches or While-loops. In case parameters or results are very big (over 10,000 characters), the logged value will be truncated.
Only the first 100 elements are logged in arrays, including those used as parameters in Foreach-loops. Each element can have up to 10,000 characters until the logged value will be truncated.
Everything
Sometimes you need to know everything that happens within a Process. This is especially useful when developing a new Process. With the "Everything" Log level, every parameter and result is logged. For conditional expressions, referenced variable values are also logged. The "Everything" Log level will log the full values and not truncate large result or parameter sets, as the Default Log level would do.
Log Process parameters and return value
For some Processes, you may be mostly interested in the execution performance and latency. This is especially true for any API Processes called often. Setting the Log level for such processes to "Only Errors" will speed up the execution and reduce the amount of redundant log data.
However, you may still be interested in logging the complete request and response data for the Process, e.g., for internal auditing purposes. To do this, you can turn on the "Log Process parameters and return value" option. When set, all Process input parameters passed from the Trigger, as well as any values returned (including intermediate return values), are logged. The data is then visible in the Process Instance List.
Process instance history retention period
To prevent the log database size from growing uncontrollably, the Frends Log Service periodically deletes old Process Instances from the database. By default, any Process instances older than 60 days will be deleted, but you can set the retention period for a specific Agent Group or individual Processes as needed. See Database Maintenance for more information.
Process-level settings
If one or more Processes deployed to an Environment have different logging requirements than the rest of the Processes, you can override the Environment-level settings for individual Processes. Clicking the "Log settings" from the Process action menu opens the Process-specific log settings dialog. There, you can choose to override the Environment-level settings by unchecking the "Use Environment settings" option.
To prevent forgetting to log everything in a Process, you can choose to log everything in one process for up to 24 hours. "Log everything for" will override the Environment setting for the selected time, and thus everything gets logged. When "Use environment setting" is selected, the currently active Environment setting is displayed with a shadowed color.
If "Use Environment settings" is unchecked, the settings will override any Environment-level settings. If you later want to revert back to the Environment-level settings, just recheck the option.
Recommendations
Since logging a large amount of data can affect performance, it's recommended to set production Environments to log as little as possible. For example:
Set the log level to "Only Errors."
Turn off "Log process parameters and return value."
Set the Process Instance history retention period to the shortest period you think you will need.
You can then override the log settings, such as setting a longer log retention period, for the Processes that have more stringent requirements.