observe: allow DEBUG logs via env vars

This commit is contained in:
Rob Watson 2025-03-26 17:40:57 +01:00
parent ffce32f4fe
commit 3ec4f49b0f
3 changed files with 14 additions and 3 deletions

View File

@ -101,7 +101,7 @@ func Run(ctx context.Context, params RunParams) error {
return nil return nil
} }
logger.Info("Command received", "cmd", cmd.Name()) logger.Debug("Command received", "cmd", cmd.Name())
switch c := cmd.(type) { switch c := cmd.(type) {
case terminal.CommandStartDestination: case terminal.CommandStartDestination:
mp.StartDestination(c.URL) mp.StartDestination(c.URL)
@ -113,9 +113,11 @@ func Run(ctx context.Context, params RunParams) error {
case <-uiUpdateT.C: case <-uiUpdateT.C:
updateUI() updateUI()
case serverState := <-srv.C(): case serverState := <-srv.C():
logger.Debug("Server state received", "state", serverState)
applyServerState(serverState, state) applyServerState(serverState, state)
updateUI() updateUI()
case mpState := <-mp.C(): case mpState := <-mp.C():
logger.Debug("Multiplexer state received", "state", mpState)
destErrors := applyMultiplexerState(mpState, state) destErrors := applyMultiplexerState(mpState, state)
for _, destError := range destErrors { for _, destError := range destErrors {

View File

@ -12,5 +12,10 @@ func NewNopLogger() *slog.Logger {
// NewTestLogger returns a logger that writes to stderr. // NewTestLogger returns a logger that writes to stderr.
func NewTestLogger() *slog.Logger { func NewTestLogger() *slog.Logger {
return slog.New(slog.NewTextHandler(os.Stderr, nil)) var handlerOpts slog.HandlerOptions
// RUNNER_DEBUG is used in the GitHub actions runner to enable debug logging.
if os.Getenv("DEBUG") != "" || os.Getenv("RUNNER_DEBUG") != "" {
handlerOpts.Level = slog.LevelDebug
}
return slog.New(slog.NewTextHandler(os.Stderr, &handlerOpts))
} }

View File

@ -148,5 +148,9 @@ func buildLogger(cfg config.LogFile) (*slog.Logger, error) {
return nil, fmt.Errorf("error opening log file: %w", err) return nil, fmt.Errorf("error opening log file: %w", err)
} }
return slog.New(slog.NewTextHandler(fptr, nil)), nil var handlerOpts slog.HandlerOptions
if os.Getenv("OCTO_DEBUG") != "" {
handlerOpts.Level = slog.LevelDebug
}
return slog.New(slog.NewTextHandler(fptr, &handlerOpts)), nil
} }