Recap Logging in Frends
Before going through the best practices for Process logging, let's do a quick recap on how logging works in Frends. There are three levels for setting up logging in Frends Processes:
Element level logging.
Process level logging.
Agent Group level logging.
At the Element level, each functional Element has an option to skip the logging of results and parameters. If this option is on, results and parameters of the particular Element are never logged, no matter what log setting is set in the Process or Agent Group where the Process is deployed. In addition, if you are using secret Environment Variables in an Element, those will not be logged even if everything is logged from that Element. Also, if you are promoting Variables from a Process, those will always be logged regardless of what option is set for an Element, Process or Agent Group. Below is an example of a C# Expression Element that doesn't log results or parameters.
For Subprocesses, you can define a parameter as secret in the Manual Trigger, which means that the Subprocess won't log that parameter regardless of the log settings that are used for the Trigger Element, Process or an Agent Group.
The second logging level is Process level logging, where you can define log settings for individual Processes. By default, log settings are inherited from the Agent Group in which the Process is deployed. You can override the Agent Group level log settings for individual Processes if you want. For the log level, there are three options:
Default
Results of successful steps are logged.
Results and parameters of failed steps are logged.
Only Errors
Nothing from successful steps are logged.
If this option is selected, you can define if you want to log promoted variables from successful steps.
Results and parameters of failed steps are logged.
Everything
Results and parameters of all steps are logged.
This option cannot be set for an individual Process. You can select this option for only a given time frame.
In Process level logging, you can also define if you want to log Process Instance parameters and results, and the history retention period. Below is an example of Process log settings which will override settings defined in the Agent Group level.
Agent Group level log settings are the same as individual Processes, with the exception that you can also set the log level to "Everything". As mentioned before, by default these settings will be inherited by Processes that are deployed to the Agent Group.
For Subprocesses, there aren't any options for log settings. Log settings for Subprocesses are inherited from the Process that is calling them. This means that each Process Instance of a given Subprocess might have different log settings, if the calling Processes have different log settings.
The next article is Best practices on Saving secrets as Environment Variables