diff --git a/CODE_STYLE.md b/CODE_STYLE.md index 65d0daf4..e8208172 100644 --- a/CODE_STYLE.md +++ b/CODE_STYLE.md @@ -52,6 +52,29 @@ github. These can be added just before merging of the PR to master, and the issue number should be added to the comment, e.g. `// TODO(#324): ...` +## Logging + +We generally prefer to log with static log messages and include any dynamic +information in fields. + +```golang +logger := util.GetLogger(ctx) + +// Not recommended +logger.Infof("Finished processing keys for %s, number of keys %d", name, numKeys) + +// Recommended +logger.WithFields(logrus.Fields{ + "numberOfKeys": numKeys, + "entityName": name, +}).Info("Finished processing keys") +``` + +This is useful when logging to systems that natively understand log fields, as +it allows people to search and process the fields without having to parse the +log message. + + ## Visual Studio Code If you use VSCode then the following is an example of a workspace setting that