Process Log Settings

Settings available for adjusting Process logging.

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 Agent Group. You can also override the Agent Group level settings per Process if needed.

The Agent Group level Process log setting defaults are managed from the Process List View for the Agent Group. Clicking on the "Log settings" button will open the Process log settings dialog for the selected Environment.

Log settings available for Agent Group level.

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.

Only errors

As the name suggests, only errors will be logged with this setting. No step or Subprocess execution data will be logged, which will speed up the Process execution and log message processing as a whole.

Only errors will log error details only, if no promoted values are set.

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.

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 level logs results for each step executed in a graph, with the exception for Foreach elements. Input parameters for Tasks and Subprocesses are not logged by default, nor is the variable references used in expressions for Condition branches or While loops.

Only the first 100 elements are logged in arrays, including those used as parameters in Foreach-loops. Each single result, and elements in array can have up to 10,000 characters until the logged value will be truncated.

Default log level logs most details, except for the input parameters and large arrays and elements.

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 like the Default log level would do.

Both input parameters for each shape, as well as large results are all logged on Everything log level.

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 from the log settings.

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's top level details will include input parameters and the result, if the setting is enabled.

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 storage. By default, any Process Instances older than 14 days will be deleted, but you can set the retention period for a specific Agent Group or individual Processes as needed.

Process-level settings

If one or more Processes deployed to an Agent Group have different logging requirements than the rest of the Processes, you can override the Agent Group 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 Agent Group level settings by unchecking the "Use Agent Group setting" option.

Accessing Process log level settings.

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 Agent Group setting for the selected time, and thus everything gets logged. When "Use Agent Group setting" is selected, the currently active Agent Group setting is displayed with a shadowed color.

If "Use Agent Group setting" is unchecked, the settings will override any Agent Group level settings. If you later want to revert back to the Agent Group 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.

Last updated

Was this helpful?