From 6c4a3b13d132aa460e610cf2c972e9ed71e4a42d Mon Sep 17 00:00:00 2001 From: Kir Kolyshkin Date: Sun, 25 Jul 2021 20:47:26 -0700 Subject: [PATCH] runc init: pass _LIBCONTAINER_LOGLEVEL as int Instead of passing _LIBCONTAINER_LOGLEVEL as a string (like "debug" or "info"), use a numeric value. Also, simplify the init log level passing code -- since we actually use the same level as the runc binary, just get it from logrus. This is a preparation for the next commit. Signed-off-by: Kir Kolyshkin --- exec.go | 6 ------ init.go | 4 ++-- utils_linux.go | 9 +-------- 3 files changed, 3 insertions(+), 16 deletions(-) diff --git a/exec.go b/exec.go index 3649bdc1b..66ee3653c 100644 --- a/exec.go +++ b/exec.go @@ -132,11 +132,6 @@ func execProcess(context *cli.Context) (int, error) { return -1, err } - logLevel := "info" - if context.GlobalBool("debug") { - logLevel = "debug" - } - r := &runner{ enableSubreaper: false, shouldDestroy: false, @@ -147,7 +142,6 @@ func execProcess(context *cli.Context) (int, error) { action: CT_ACT_RUN, init: false, preserveFDs: context.Int("preserve-fds"), - logLevel: logLevel, } return r.run(p) } diff --git a/init.go b/init.go index 61026e220..bddc237f6 100644 --- a/init.go +++ b/init.go @@ -17,7 +17,7 @@ func init() { runtime.GOMAXPROCS(1) runtime.LockOSThread() - logLevel, err := logrus.ParseLevel(os.Getenv("_LIBCONTAINER_LOGLEVEL")) + level, err := strconv.Atoi(os.Getenv("_LIBCONTAINER_LOGLEVEL")) if err != nil { panic(err) } @@ -27,7 +27,7 @@ func init() { panic(err) } - logrus.SetLevel(logLevel) + logrus.SetLevel(logrus.Level(level)) logrus.SetOutput(os.NewFile(uintptr(logPipeFd), "logpipe")) logrus.SetFormatter(new(logrus.JSONFormatter)) logrus.Debug("child process in init()") diff --git a/utils_linux.go b/utils_linux.go index a36a3fafb..5404f2eb9 100644 --- a/utils_linux.go +++ b/utils_linux.go @@ -255,7 +255,6 @@ type runner struct { action CtAct notifySocket *notifySocket criuOpts *libcontainer.CriuOpts - logLevel string } func (r *runner) run(config *specs.Process) (int, error) { @@ -272,9 +271,9 @@ func (r *runner) run(config *specs.Process) (int, error) { if err != nil { return -1, err } + process.LogLevel = strconv.Itoa(int(logrus.GetLevel())) // Populate the fields that come from runner. process.Init = r.init - process.LogLevel = r.logLevel if len(r.listenFDs) > 0 { process.Env = append(process.Env, "LISTEN_FDS="+strconv.Itoa(len(r.listenFDs)), "LISTEN_PID=1") process.ExtraFiles = append(process.ExtraFiles, r.listenFDs...) @@ -431,11 +430,6 @@ func startContainer(context *cli.Context, spec *specs.Spec, action CtAct, criuOp listenFDs = activation.Files(false) } - logLevel := "info" - if context.GlobalBool("debug") { - logLevel = "debug" - } - r := &runner{ enableSubreaper: !context.Bool("no-subreaper"), shouldDestroy: !context.Bool("keep"), @@ -449,7 +443,6 @@ func startContainer(context *cli.Context, spec *specs.Spec, action CtAct, criuOp action: action, criuOpts: criuOpts, init: true, - logLevel: logLevel, } return r.run(spec.Process) }