Best practice: Application Log or Mutation (change log)

Two similar record types exist in applications. Often, questions are asked when to choose for which type:

  • Application log
  • Change log or mutations

This pst helps you to decide whether to implement functionality as Application log or as Change log.

Application log is used to log activity in the application that has as a primary purpose to give feedback on the usage of the application. It logs activity of background, workflow and scheduled processes to give Functional Application Manager (FAM) and support insight in the processes in the application. It logs the impact of user errors in order to assist them.

Change log (or mutations) is used to register the change of (business) data in the application with the purpose of reviewing and evaluating changes of data to the application.

As a result, the audience is different.

Application log is supposed to be read by FAM (customer) or support (Novulo). It stores relevant data for the log, and it could present slightly too much data. The text in the application log is allowed to be technically written. For example, it is fine to refer to record ID’s or to refer to a Scheduled task.

Change log are supposed to be read (primarily) by users and key users to review activity, see trends and do analysis.

Decision aid

Below, examples and questions are written to help you on deciding the type of log you need.

  • Do you want to create a log about a process that failed? In that case, it is always Application Log. The ChangeLog only shows changes that were entered successful; Application Log will also log processes and actions that failed.
  • Do you want to create a log to analyze a business trend? In that case, it is always Change log, referring to the actual record that was changed.
  • Do you want to create a log to identify fraud? In that case, it can be both, depending on the exact case. Do you want to track if a user is falsely lowering sales prices, so their partner in crime can buy goods too cheap? Here, a Change Log on Sales Price List Item mutations will do. Do you want to track if a user is trying over and over again to modify a serial number, but is blocked by the application. In the case, an Application Log will be required to log unsuccessful attempts
  • Does your log always store a data point that actually happened? Change log
  • Is your log designed to track if a background task has started? Application log

If you are still unsure, feel free to post your questions on the community