flagd/flagd-proxy/cmd
Austin Drenski bae9b6fb3b
fix: Skip flagd banner when non-console logger in use (#1516)
## This PR

- Moves the (very nice) flagd console banner behind a flag check to
avoid sending the (again, very nice) console banner to JSON log files,
sinks, k8s trailers, etc.

### How to test

```console
$ go run main.go start -f file:../config/samples/example_flags.flagd.json

                 ______   __       ________   _______    ______
                /_____/\ /_/\     /_______/\ /______/\  /_____/\
                \::::_\/_\:\ \    \::: _  \ \\::::__\/__\:::_ \ \
                 \:\/___/\\:\ \    \::(_)  \ \\:\ /____/\\:\ \ \ \
                  \:::._\/ \:\ \____\:: __  \ \\:\\_  _\/ \:\ \ \ \
                   \:\ \    \:\/___/\\:.\ \  \ \\:\_\ \ \  \:\/.:| |
                    \_\/     \_____\/ \__\/\__\/ \_____\/   \____/_/

2025-01-15T19:41:51.347-0500    info    cmd/start.go:124        flagd version: dev (HEAD), built at: unknown    {"component": "start"}
2025-01-15T19:41:51.347-0500    info    flag-sync/sync_service.go:87    starting flag sync service on port 8015 {"component": "FlagSyncService"}
2025-01-15T19:41:51.347-0500    info    file/filepath_sync.go:62        Starting filepath sync notifier {"component": "sync", "sync": "fileinfo"}
2025-01-15T19:41:51.347-0500    info    ofrep/ofrep_service.go:58       ofrep service listening at 8016 {"component": "OFREPService"}
2025-01-15T19:41:51.347-0500    info    flag-evaluation/connect_service.go:249  metrics and probes listening at 8014    {"component": "service"}
2025-01-15T19:41:51.347-0500    info    file/filepath_sync.go:101       watching filepath: ../config/samples/example_flags.flagd.json   {"component": "sync", "sync": "fileinfo"}
2025-01-15T19:41:51.347-0500    info    flag-evaluation/connect_service.go:229  Flag IResolver listening at [::]:8013   {"component": "service"}
```

```console
$ go run main.go start -f file:../config/samples/example_flags.flagd.json --log-format console

                 ______   __       ________   _______    ______
                /_____/\ /_/\     /_______/\ /______/\  /_____/\
                \::::_\/_\:\ \    \::: _  \ \\::::__\/__\:::_ \ \
                 \:\/___/\\:\ \    \::(_)  \ \\:\ /____/\\:\ \ \ \
                  \:::._\/ \:\ \____\:: __  \ \\:\\_  _\/ \:\ \ \ \
                   \:\ \    \:\/___/\\:.\ \  \ \\:\_\ \ \  \:\/.:| |
                    \_\/     \_____\/ \__\/\__\/ \_____\/   \____/_/

2025-01-15T19:41:39.375-0500    info    cmd/start.go:124        flagd version: dev (HEAD), built at: unknown    {"component": "start"}
2025-01-15T19:41:39.376-0500    info    flag-sync/sync_service.go:87    starting flag sync service on port 8015 {"component": "FlagSyncService"}
2025-01-15T19:41:39.378-0500    info    file/filepath_sync.go:62        Starting filepath sync notifier {"component": "sync", "sync": "fileinfo"}
2025-01-15T19:41:39.380-0500    info    ofrep/ofrep_service.go:58       ofrep service listening at 8016 {"component": "OFREPService"}
2025-01-15T19:41:39.380-0500    info    flag-evaluation/connect_service.go:249  metrics and probes listening at 8014    {"component": "service"}
2025-01-15T19:41:39.380-0500    info    flag-evaluation/connect_service.go:229  Flag IResolver listening at [::]:8013   {"component": "service"}
2025-01-15T19:41:39.381-0500    info    file/filepath_sync.go:101       watching filepath: ../config/samples/example_flags.flagd.json   {"component": "sync", "sync": "fileinfo"}
```

```console
$ go run main.go start -f file:../config/samples/example_flags.flagd.json --log-format json
{"level":"info","ts":"2025-01-15T19:41:19.857-0500","caller":"cmd/start.go:124","msg":"flagd version: dev (HEAD), built at: unknown","component":"start"}
{"level":"info","ts":"2025-01-15T19:41:19.857-0500","caller":"flag-sync/sync_service.go:87","msg":"starting flag sync service on port 8015","component":"FlagSyncService"}
{"level":"info","ts":"2025-01-15T19:41:19.861-0500","caller":"file/filepath_sync.go:62","msg":"Starting filepath sync notifier","component":"sync","sync":"fileinfo"}
{"level":"info","ts":"2025-01-15T19:41:19.863-0500","caller":"ofrep/ofrep_service.go:58","msg":"ofrep service listening at 8016","component":"OFREPService"}
{"level":"info","ts":"2025-01-15T19:41:19.863-0500","caller":"flag-evaluation/connect_service.go:249","msg":"metrics and probes listening at 8014","component":"service"}
{"level":"info","ts":"2025-01-15T19:41:19.864-0500","caller":"file/filepath_sync.go:101","msg":"watching filepath: ../config/samples/example_flags.flagd.json","component":"sync","sync":"fileinfo"}
{"level":"info","ts":"2025-01-15T19:41:19.864-0500","caller":"flag-evaluation/connect_service.go:229","msg":"Flag IResolver listening at [::]:8013","component":"service"}
```

Signed-off-by: Austin Drenski <austin@austindrenski.io>
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com>
2025-01-17 09:54:50 -05:00
..
root.go fix: Skip flagd banner when non-console logger in use (#1516) 2025-01-17 09:54:50 -05:00
start.go chore: move packaging & isolate service implementations (#1234) 2024-03-05 09:52:06 -08:00