Skip to content

Commit c8797cc

Browse files
authored
refactor(logs): add --log-level flag (oomol-lab#83)
1 parent 35e4841 commit c8797cc

File tree

27 files changed

+87
-91
lines changed

27 files changed

+87
-91
lines changed

cmd/common.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,11 @@ func showVersionAndOSInfo() error {
5050
}
5151

5252
func setLogrus(command *cli.Command) {
53-
logrus.SetLevel(logrus.InfoLevel)
54-
if command.Bool(define.FlagVerbose) {
55-
logrus.SetLevel(logrus.DebugLevel)
53+
level, err := logrus.ParseLevel(command.String(define.FlagLogLevel))
54+
if err != nil {
55+
level = logrus.WarnLevel
5656
}
57+
logrus.SetLevel(level)
5758

5859
logrus.SetFormatter(&logrus.TextFormatter{
5960
FullTimestamp: true,

cmd/docker.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,25 +87,25 @@ func dockerModeLifeCycle(ctx context.Context, command *cli.Command) error {
8787

8888
// Service readiness prober
8989
g.Go(func() error {
90-
defer logrus.Debug("service prober exited")
90+
defer logrus.Infof("service prober exited")
9191
return vmc.CloseChannelWhenServiceReady(ctx)
9292
})
9393

9494
// Guest config server (provides VM config to guest agent via VSock)
9595
g.Go(func() error {
96-
defer logrus.Debug("guest-config server exited")
96+
defer logrus.Infof("guest-config server exited")
9797
return server.NewGuestConfigServer(vmc).Start(ctx)
9898
})
9999

100100
// Network backend (gvproxy)
101101
g.Go(func() error {
102-
defer logrus.Debug("network backend exited")
102+
defer logrus.Infof("network backend exited")
103103
return vmp.StartNetwork(ctx)
104104
})
105105

106106
// VM lifecycle: wait for dependencies, then create and start
107107
g.Go(func() error {
108-
defer logrus.Debug("VM exited")
108+
defer logrus.Infof("VM exited")
109109

110110
if err := vmc.WaitForServices(ctx, define.ServiceGVProxy, define.ServiceIgnServer); err != nil {
111111
return err
@@ -120,7 +120,7 @@ func dockerModeLifeCycle(ctx context.Context, command *cli.Command) error {
120120

121121
// Docker API tunnel: forward host Unix socket to guest Podman API
122122
g.Go(func() error {
123-
defer logrus.Debug("docker API tunnel exited")
123+
defer logrus.Infof("docker API tunnel exited")
124124

125125
if err := vmc.WaitForServices(ctx, define.ServiceGVProxy); err != nil {
126126
return err

cmd/main.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ func main() {
3232
Usage: "listen for REST API requests on the given address, support http or unix socket address," +
3333
" e.g. http://127.0.0.1:8080 or unix:///tmp/restapi.sock",
3434
},
35-
&cli.BoolFlag{
36-
Name: define.FlagVerbose,
37-
Hidden: true,
38-
Value: false,
35+
&cli.StringFlag{
36+
Name: define.FlagLogLevel,
37+
Usage: "set log level (trace, debug, info, warn, error, fatal, panic)",
38+
Value: "warn",
3939
},
4040
},
4141
}

cmd/rootfs.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,13 +96,13 @@ func rootfsLifeCycle(ctx context.Context, command *cli.Command) error {
9696

9797
// Network backend (gvproxy)
9898
g.Go(func() error {
99-
defer logrus.Debug("network backend exited")
99+
defer logrus.Infof("network backend exited")
100100
return vmp.StartNetwork(ctx)
101101
})
102102

103103
// VM lifecycle: wait for dependencies, then create and start
104104
g.Go(func() error {
105-
defer logrus.Debug("VM exited")
105+
defer logrus.Infof("VM exited")
106106

107107
if err := vmc.WaitForServices(ctx, define.ServiceGVProxy, define.ServiceIgnServer); err != nil {
108108
return err

guest-agent/main.go

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,11 @@ import (
1616
)
1717

1818
func setLogrus(command *cli.Command) {
19-
logrus.SetLevel(logrus.InfoLevel)
20-
if command.Bool(define.FlagVerbose) {
21-
logrus.SetLevel(logrus.DebugLevel)
19+
level, err := logrus.ParseLevel(command.String(define.FlagLogLevel))
20+
if err != nil {
21+
level = logrus.WarnLevel
2222
}
23+
logrus.SetLevel(level)
2324

2425
logrus.SetFormatter(&logrus.TextFormatter{
2526
FullTimestamp: true,
@@ -36,10 +37,10 @@ func main() {
3637
UsageText: os.Args[0] + " [command] [flags]",
3738
Description: "setup the guest environment, and run the command specified by the user.",
3839
Flags: []cli.Flag{
39-
&cli.BoolFlag{
40-
Name: define.FlagVerbose,
41-
Hidden: true,
42-
Value: false,
40+
&cli.StringFlag{
41+
Name: define.FlagLogLevel,
42+
Usage: "set log level (trace, debug, info, warn, error, fatal, panic)",
43+
Value: "warn",
4344
},
4445
},
4546
Before: earlyStage,
@@ -101,7 +102,7 @@ func run(ctx context.Context, _ *cli.Command) error {
101102
}
102103

103104
func userRootfsMode(ctx context.Context, vmc *define.VMConfig) error {
104-
logrus.Debugf("run user command line mode")
105+
logrus.Infof("run user command line mode")
105106

106107
g, ctx := errgroup.WithContext(ctx)
107108

guest-agent/pkg/network/dhclient_linux.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,19 @@ import (
1515
)
1616

1717
func DHClient4(ifName string, attempts int, verbose bool) error {
18-
logrus.Debugf("try to bring interface %q up", ifName)
18+
logrus.Infof("try to bring interface %q up", ifName)
1919
_, err := BringInterfaceUpFast(ifName)
2020
if err != nil {
2121
return fmt.Errorf("failed to bring interface %q up: %w", ifName, err)
2222
}
2323

24-
logrus.Debugf("get dhcp config for interface %q", ifName)
24+
logrus.Infof("get dhcp config for interface %q", ifName)
2525
bootConf, err := dhClient4(ifName, attempts, verbose)
2626
if err != nil {
2727
return fmt.Errorf("failed to get dhcp config: %w", err)
2828
}
2929

30-
logrus.Debugf("configure interface %q", ifName)
30+
logrus.Infof("configure interface %q", ifName)
3131
return netboot.ConfigureInterface(ifName, &bootConf.NetConf)
3232
}
3333

@@ -75,7 +75,7 @@ func dhClient4(ifname string, attempts int, verbose bool) (*netboot.BootConf, er
7575
}
7676
if verbose {
7777
for _, m := range conv {
78-
logrus.Debug(m.Summary())
78+
logrus.Infof(m.Summary())
7979
}
8080
}
8181
if err != nil {

guest-agent/pkg/service/network.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package service
33
import (
44
"context"
55
"guestAgent/pkg/network"
6-
"os"
76

87
"github.com/sirupsen/logrus"
98
)
@@ -19,9 +18,6 @@ func ConfigureNetwork(ctx context.Context) error {
1918

2019
go func() {
2120
verbose := false
22-
if _, find := os.LookupEnv("REVM_DEBUG"); find {
23-
verbose = true
24-
}
2521

2622
if logrus.IsLevelEnabled(logrus.DebugLevel) {
2723
verbose = true

guest-agent/pkg/service/podman.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ func startGuestPodmanService(ctx context.Context) error {
1515
cmd := exec.CommandContext(ctx, "podman", "system", "service", "--time=0", addr)
1616
cmd.Stdin = nil
1717

18-
if logrus.IsLevelEnabled(logrus.DebugLevel) {
18+
if logrus.IsLevelEnabled(logrus.InfoLevel) {
1919
cmd.Stdout = os.Stdout
2020
cmd.Stderr = os.Stderr
2121
}

guest-agent/pkg/vsock/httputils_v2.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ func (c *HTTPClient) Get(ctx context.Context, path string) (*http.Response, erro
120120
return nil, fmt.Errorf("failed to create GET request: %w", err)
121121
}
122122

123-
logrus.Debugf("HTTP GET: %s via %s", url, c.transport.Name())
123+
logrus.Infof("HTTP GET: %s via %s", url, c.transport.Name())
124124
return c.client.Do(req)
125125
}
126126

@@ -136,7 +136,7 @@ func (c *HTTPClient) Post(ctx context.Context, path string, contentType string,
136136
req.Header.Set("Content-Type", contentType)
137137
}
138138

139-
logrus.Debugf("HTTP POST: %s via %s", url, c.transport.Name())
139+
logrus.Infof("HTTP POST: %s via %s", url, c.transport.Name())
140140
return c.client.Do(req)
141141
}
142142

pkg/define/const.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ const (
4848
FlagRootfsMode = "rootfs-mode"
4949
FlagKernelMode = "kernel-mode"
5050

51-
FlagVerbose = "verbose"
51+
FlagLogLevel = "log-level"
5252
FlagListenUnixFile = "listen-unix"
5353
FlagRestAPIListenAddr = "rest-api"
5454
FlagCPUS = "cpus"

0 commit comments

Comments
 (0)