mirror of
https://github.com/aquasecurity/trivy.git
synced 2025-12-23 07:29:00 -08:00
Suppress log output when --quiet flag is on (#125)
* Add --no-progress flag * Disable log output when --quiet flag is enabled
This commit is contained in:
committed by
Teppei Fukuda
parent
31a1f5968b
commit
a77984a381
@@ -85,6 +85,10 @@ OPTIONS:
|
|||||||
},
|
},
|
||||||
cli.BoolFlag{
|
cli.BoolFlag{
|
||||||
Name: "quiet, q",
|
Name: "quiet, q",
|
||||||
|
Usage: "suppress progress bar and log output",
|
||||||
|
},
|
||||||
|
cli.BoolFlag{
|
||||||
|
Name: "no-progress",
|
||||||
Usage: "suppress progress bar",
|
Usage: "suppress progress bar",
|
||||||
},
|
},
|
||||||
cli.BoolFlag{
|
cli.BoolFlag{
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package log
|
package log
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"os"
|
||||||
|
|
||||||
"go.uber.org/zap"
|
"go.uber.org/zap"
|
||||||
"go.uber.org/zap/zapcore"
|
"go.uber.org/zap/zapcore"
|
||||||
"golang.org/x/xerrors"
|
"golang.org/x/xerrors"
|
||||||
@@ -11,9 +13,9 @@ var (
|
|||||||
debugOption bool
|
debugOption bool
|
||||||
)
|
)
|
||||||
|
|
||||||
func InitLogger(debug bool) (err error) {
|
func InitLogger(debug, disable bool) (err error) {
|
||||||
debugOption = debug
|
debugOption = debug
|
||||||
Logger, err = newLogger(debug)
|
Logger, err = newLogger(debug, disable)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return xerrors.Errorf("error in new logger: %w", err)
|
return xerrors.Errorf("error in new logger: %w", err)
|
||||||
}
|
}
|
||||||
@@ -21,7 +23,7 @@ func InitLogger(debug bool) (err error) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func newLogger(debug bool) (*zap.SugaredLogger, error) {
|
func newLogger(debug, disable bool) (*zap.SugaredLogger, error) {
|
||||||
level := zap.NewAtomicLevel()
|
level := zap.NewAtomicLevel()
|
||||||
if debug {
|
if debug {
|
||||||
level.SetLevel(zapcore.DebugLevel)
|
level.SetLevel(zapcore.DebugLevel)
|
||||||
@@ -50,6 +52,10 @@ func newLogger(debug bool) (*zap.SugaredLogger, error) {
|
|||||||
OutputPaths: []string{"stdout"},
|
OutputPaths: []string{"stdout"},
|
||||||
ErrorOutputPaths: []string{"stderr"},
|
ErrorOutputPaths: []string{"stderr"},
|
||||||
}
|
}
|
||||||
|
if disable {
|
||||||
|
myConfig.OutputPaths = []string{os.DevNull}
|
||||||
|
myConfig.ErrorOutputPaths = []string{os.DevNull}
|
||||||
|
}
|
||||||
logger, err := myConfig.Build()
|
logger, err := myConfig.Build()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, xerrors.Errorf("failed to build zap config: %w", err)
|
return nil, xerrors.Errorf("failed to build zap config: %w", err)
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/genuinetools/reg/registry"
|
|
||||||
"github.com/aquasecurity/fanal/cache"
|
"github.com/aquasecurity/fanal/cache"
|
||||||
"github.com/aquasecurity/trivy/pkg/db"
|
"github.com/aquasecurity/trivy/pkg/db"
|
||||||
"github.com/aquasecurity/trivy/pkg/log"
|
"github.com/aquasecurity/trivy/pkg/log"
|
||||||
@@ -15,6 +14,7 @@ import (
|
|||||||
"github.com/aquasecurity/trivy/pkg/utils"
|
"github.com/aquasecurity/trivy/pkg/utils"
|
||||||
"github.com/aquasecurity/trivy/pkg/vulnsrc"
|
"github.com/aquasecurity/trivy/pkg/vulnsrc"
|
||||||
"github.com/aquasecurity/trivy/pkg/vulnsrc/vulnerability"
|
"github.com/aquasecurity/trivy/pkg/vulnsrc/vulnerability"
|
||||||
|
"github.com/genuinetools/reg/registry"
|
||||||
"github.com/urfave/cli"
|
"github.com/urfave/cli"
|
||||||
"golang.org/x/xerrors"
|
"golang.org/x/xerrors"
|
||||||
)
|
)
|
||||||
@@ -22,9 +22,11 @@ import (
|
|||||||
func Run(c *cli.Context) (err error) {
|
func Run(c *cli.Context) (err error) {
|
||||||
cliVersion := c.App.Version
|
cliVersion := c.App.Version
|
||||||
|
|
||||||
utils.Quiet = c.Bool("quiet")
|
if c.Bool("quiet") || c.Bool("no-progress") {
|
||||||
|
utils.Quiet = true
|
||||||
|
}
|
||||||
debug := c.Bool("debug")
|
debug := c.Bool("debug")
|
||||||
if err = log.InitLogger(debug); err != nil {
|
if err = log.InitLogger(debug, c.Bool("quiet")); err != nil {
|
||||||
l.Fatal(err)
|
l.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
log.InitLogger(false)
|
log.InitLogger(false, false)
|
||||||
os.Exit(m.Run())
|
os.Exit(m.Run())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
log.InitLogger(false)
|
log.InitLogger(false, false)
|
||||||
os.Exit(m.Run())
|
os.Exit(m.Run())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
log.InitLogger(false)
|
log.InitLogger(false, false)
|
||||||
os.Exit(m.Run())
|
os.Exit(m.Run())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
log.InitLogger(false)
|
log.InitLogger(false, false)
|
||||||
os.Exit(m.Run())
|
os.Exit(m.Run())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ func write(t *testing.T, name string, content string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestFileWalk(t *testing.T) {
|
func TestFileWalk(t *testing.T) {
|
||||||
if err := log.InitLogger(false); err != nil {
|
if err := log.InitLogger(false, false); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
td, err := ioutil.TempDir("", "walktest")
|
td, err := ioutil.TempDir("", "walktest")
|
||||||
|
|||||||
Reference in New Issue
Block a user