databricks-cli/libs/flags
Pieter Noordhuis 32a29c6af4
Add structured logging infrastructure (#246)
New global flags:
* `--log-file FILE`: can be literal `stdout`, `stderr`, or a file name (default `stderr`)
* `--log-level LEVEL`: can be `error`, `warn`, `info`, `debug`, `trace`, or `disabled` (default `disabled`)
* `--log-format TYPE`: can be `text` or `json` (default `text`)

New functions in the `log` package take a `context.Context` and retrieve
the logger from said context.

Because we carry the logger in a context, adding
[attributes](https://pkg.go.dev/golang.org/x/exp/slog#hdr-Attrs_and_Values)
to the logger can be done as follows:

```go
ctx = log.NewContext(ctx, log.GetLogger(ctx).With("foo", "bar"))
```
2023-03-16 14:46:53 +01:00
..
log_file_flag.go Add structured logging infrastructure (#246) 2023-03-16 14:46:53 +01:00
log_file_flag_test.go Add structured logging infrastructure (#246) 2023-03-16 14:46:53 +01:00
log_level_flag.go Add structured logging infrastructure (#246) 2023-03-16 14:46:53 +01:00
log_level_flag_test.go Add structured logging infrastructure (#246) 2023-03-16 14:46:53 +01:00
output.go Add structured logging infrastructure (#246) 2023-03-16 14:46:53 +01:00
output_test.go Add optional JSON output for sync command (#230) 2023-03-08 10:27:19 +01:00