You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add verbose logging to all commands via SDK logger
Introduce cmdLogger interface and package-level log var in cmd/verbose.go
that uses the SDK logger (common.GetLogger). All commands now emit
verbose output when --verbose is passed:
- update: current version, GitHub slug, latest release
- version: Go version, OS/Arch
- login: profile loading, authenticating
- logout: keyring clearing
- configure: profile/config saving
- favorites: config loading, favorite count, saving
Migrate 4 existing ad-hoc [verbose]/Warning messages in fetchStatusData,
buildDirectoryNameMap, buildWorkspaceNameMap, and fetchEligibility to use
log.Info(), removing the errWriter io.Writer parameter from these functions.
Tests use spyLogger mock to verify log messages without SDK output.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,16 @@ All notable changes to this project will be documented in this file.
4
4
5
5
## [Unreleased]
6
6
7
+
### Added
8
+
9
+
- Verbose logging (`--verbose`/`-v`) now produces output for all commands, not just those using `SCAAccessService`
10
+
- Commands `update`, `version`, `login`, `logout`, `configure`, and `favorites` now emit SDK-format verbose logs (`grant | timestamp | INFO | message`)
11
+
12
+
### Changed
13
+
14
+
- Migrated 4 ad-hoc `[verbose]`/`Warning:` messages in `fetchStatusData`, `buildDirectoryNameMap`, `buildWorkspaceNameMap`, and `fetchEligibility` to use the SDK logger for consistent format
15
+
- Removed `errWriter io.Writer` parameter from `fetchStatusData`, `buildDirectoryNameMap`, `buildWorkspaceNameMap`, and `fetchGroupsEligibility` (verbose output now goes through SDK logger, not injected writer)
-`--verbose` / `-v` global flag wired via `PersistentPreRunE` in `cmd/root.go`
79
79
- Calls `config.EnableVerboseLogging("INFO")` (sets `IDSEC_LOG_LEVEL=INFO`) or `config.DisableVerboseLogging()` (sets `IDSEC_LOG_LEVEL=CRITICAL`)
80
+
-`cmdLogger` interface in `cmd/verbose.go` — `Info(msg string, v ...interface{})`, satisfied by `*common.IdsecLogger`
81
+
-`log` package-level var in `cmd/verbose.go` — all commands use `log.Info(...)` for verbose output; tests swap with `spyLogger`
80
82
-`loggingClient` in `internal/sca/logging_client.go` decorates `httpClient`, logging method/route/status/duration at INFO, response headers at DEBUG with Authorization redaction
81
83
-`NewSCAAccessService()` wraps ISP client with `loggingClient` using `common.GetLogger("grant", -1)` (dynamic level from env)
82
84
-`NewSCAAccessServiceWithClient()` (test constructor) does not wrap — tests don't need logging
0 commit comments