From e77f0d0603d622d3a2554e55fe62bc1615fca55b Mon Sep 17 00:00:00 2001 From: Nick Thomas Date: Thu, 7 Oct 2021 10:43:27 +0100 Subject: Log command invocation Use reflection to log the command we are about to execute, both in gitlab-shell and gitlab-sshd. Include the environment, which has all the context we need to understand what the command is expected to do. Changelog: added --- cmd/gitlab-shell/main.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'cmd/gitlab-shell') diff --git a/cmd/gitlab-shell/main.go b/cmd/gitlab-shell/main.go index 2576e8b..a945d0c 100644 --- a/cmd/gitlab-shell/main.go +++ b/cmd/gitlab-shell/main.go @@ -3,6 +3,9 @@ package main import ( "fmt" "os" + "reflect" + + "gitlab.com/gitlab-org/labkit/log" shellCmd "gitlab.com/gitlab-org/gitlab-shell/cmd/gitlab-shell/command" "gitlab.com/gitlab-org/gitlab-shell/internal/command" @@ -62,8 +65,15 @@ func main() { ctx, finished := command.Setup(executable.Name, config) defer finished() - if err = cmd.Execute(ctx); err != nil { + cmdName := reflect.TypeOf(cmd).String() + ctxlog := log.ContextLogger(ctx) + ctxlog.WithFields(log.Fields{"env": env, "command": cmdName}).Info("gitlab-shell: main: executing command") + + if err := cmd.Execute(ctx); err != nil { + ctxlog.WithError(err).Warn("gitlab-shell: main: command execution failed") console.DisplayWarningMessage(err.Error(), readWriter.ErrOut) os.Exit(1) } + + ctxlog.Info("gitlab-shell: main: command executed successfully") } -- cgit v1.2.1