Why UiPath would advocate so much logging

When I was taking the “Introduction to Logging” course, I was struck by how many details we are advised to log

  • at the beginning and the end of every workflow (Log level = Information);
  • each time an exception is caught in a Catch block (Log level = Error);
  • each time a Business Rule Exception is thrown (Log Level = Error);
  • when data is read from external sources, for example, log a message at Information level when an Excel file is read (Log Level = Information);
  • in Parallel or Pick activities, log messages on every branch, in order to trace the branch taken (Log Level = Information);

And all of this is on top of the default logging robot is already doing.

Is this really the Best practice? In web development, this is akin to endless console.log, which is strongly discouraged. It adds a lot of clutter (in terms of coding and the physical logs), most of them will be completely useless. I understand this will be valuable in times of debugging and unexpected happenstances, but is it really the “Best” practice?

I am still learning. As I work more with UiPath, I think RPA often deals with a much more volatile and unpredictable environment, unlike software development where developers have a much greater control and visibility over the system and process.

So I guess it is more appropriate to log more meticulously