diff options
Diffstat (limited to 'docs/content/doc/advanced')
-rw-r--r-- | docs/content/doc/advanced/logging-documentation.en-us.md | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/docs/content/doc/advanced/logging-documentation.en-us.md b/docs/content/doc/advanced/logging-documentation.en-us.md index bef034e2e7..3af75c0d8f 100644 --- a/docs/content/doc/advanced/logging-documentation.en-us.md +++ b/docs/content/doc/advanced/logging-documentation.en-us.md @@ -362,6 +362,17 @@ also set the `resetBytes` to the cached `resetBytes`. The `colorBytes` and `resetBytes` are not exported to prevent accidental overwriting of internal values. +## ColorFormat & ColorFormatted + +Structs may implement the `log.ColorFormatted` interface by implementing the `ColorFormat(fmt.State)` function. + +If a `log.ColorFormatted` struct is logged with `%-v` format, its `ColorFormat` will be used instead of the usual `%v`. The full `fmt.State` will be passed to allow implementers to look at additional flags. + +In order to help implementers provide `ColorFormat` methods. There is a +`log.ColorFprintf(...)` function in the log module that will wrap values in `log.ColoredValue` and recognise `%-v`. + +In general it is recommended not to make the results of this function too verbose to help increase its versatility. Usually this should simply be an `ID`:`Name`. If you wish to make a more verbose result, it is recommended to use `%-+v` as your marker. + ## Log Spoofing protection In order to protect the logs from being spoofed with cleverly @@ -392,5 +403,5 @@ func newNewoneLogService() { } ``` -You should then add `newOneLogService` to `NewServices()` in +You should then add `newOneLogService` to `NewServices()` in `modules/setting/setting.go` |