Process logging for different Agent Groups
As mentioned before, there are three log levels that you can define for a Process or Agent Group:
Default
Only errors
Everything
"Default" is a good option for the Development Agent Group, as that is the Agent Group which is used to develop integrations. Since you are most likely testing your Processes in the Development Agent Group, you need to see the results that an Element returns. Also, if one of the Elements receives an error, it's good to see what parameters were passed to the Element when it failed.
When you have tested and confirmed that a Process works, you most likely want to move it to the Production Agent Group. An Agent Group that is considered a Production Agent Group should have the "Only errors" log level. This will significantly reduce the load for Agents in the Agent Group, since the Agent doesn't need to serialize the logs. This is especially important if you have many Processes in the Production Agent Group. If integrations are working without problems, then you shouldn't log anything from the Processes. However, if you have Promoted Variables in Processes, you can choose if you want to log them or not. If there are errors in Production Processes, those will be logged and you can see what went wrong. For failed Tasks, both results and parameters will be logged, so you can try to reproduce the issue with the same parameters that were provided for the Task in the failed Process Instance.
Lastly, let's talk about the "Everything" log level. This option can be set for an Agent Group, but not for individual Processes. However, you can log everything for individual Processes but only for a limited time. After the given time is up, logging for that Process is set back to the previous setting. The difference between "Default" and "Everything" is that parameters for successful steps of a Process are not logged in the "Default" level, but are logged in "Everything". This basically doubles the logging load for an Agent, since it also has to serialize logs for parameters in addition to results. This option is useful when you are debugging a problem in a Process. However, you should never set this option for an entire Agent Group, since it is easy to forget to change the log level after debugging is done and the issue is fixed. This will create unnecessary load for Agents in the Agent Group. "Everything" should always be set for individual Processes since the setting will be automatically changed back to the previous setting. In addition, you should always set the time to as little as is necessary, since if the time is up and the setting switches back to the original setting, you can always turn "Everything" back on.
The next article is Best practices on Promoted Variables