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 at the top of the page 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:

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 result of steps which 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 Only Errors Log level, whereas the steps are. This may lead to redundant logging of data you cannot actually view. The data will eventually be cleared, but for maximum performance, you should not promote results of subproceses under 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.

Only 100 first elements are logged in arrays, also 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 each result is logged. For conditional expressions, referenced variable values are also logged. Log level Everything 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 can be mostly interested in the execution performance and latency. This is especially true to 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 could still be interested in logging the complete request and response data for the Process, e.g. for internal auditing purposes. For this, you can just turn on Log process parameters and return value. 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 without control, the FRENDS Log Service deletes old Process Instances from the database periodically. 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.

Process-level settings

If one or more Processes deployed to an Environment have different log requirements than the rest of the Processes, you can override the Environment-level settings for individual processes. Clicking the "Log settings" menu item 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 process to log everything, it is possible only log everything in one process up to 24 hours. "Log everything for" will override environment setting for selected time, and thus everything gets logged. When "Use environment setting" is selected, currently active environment setting is displayed with 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 large amount of data will affect performance, it's recommended to set especially production Environments to log as little as possible, e.g.: 

  • Log level to Only Errors

  • Log process parameters and return value off

  • Process instance history retention period to the shortest period you think you will need

You can then override the log settings (e.g. set a longer log retention period) for the processes that have more stringent requirements

Did this answer your question?