From 74bb10779338bbb06be44a523d1e166b760018f7 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sat, 24 Dec 2022 23:55:03 -0700 Subject: tree-wide: Audit for fmt.Fprint usage, in favor of textui --- cmd/btrfs-rec/main.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'cmd/btrfs-rec/main.go') diff --git a/cmd/btrfs-rec/main.go b/cmd/btrfs-rec/main.go index c808237..a221cb7 100644 --- a/cmd/btrfs-rec/main.go +++ b/cmd/btrfs-rec/main.go @@ -7,7 +7,6 @@ package main import ( "context" "encoding/json" - "fmt" "os" "github.com/datawire/dlib/dgroup" @@ -20,6 +19,7 @@ import ( "git.lukeshu.com/btrfs-progs-ng/lib/btrfs" "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsvol" "git.lukeshu.com/btrfs-progs-ng/lib/btrfsprogs/btrfsutil" + "git.lukeshu.com/btrfs-progs-ng/lib/textui" ) type logLevelFlag struct { @@ -162,7 +162,7 @@ func main() { } if err := argparser.ExecuteContext(context.Background()); err != nil { - fmt.Fprintf(os.Stderr, "%v: error: %v\n", argparser.CommandPath(), err) + textui.Fprintf(os.Stderr, "%v: error: %v\n", argparser.CommandPath(), err) os.Exit(1) } } -- cgit v1.2.3-2-g168b From 31341857abc73334852d3b888f4fb558d8ed3c61 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 25 Dec 2022 14:03:02 -0700 Subject: Factor logger code from main.go in to textui --- cmd/btrfs-rec/main.go | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) (limited to 'cmd/btrfs-rec/main.go') diff --git a/cmd/btrfs-rec/main.go b/cmd/btrfs-rec/main.go index a221cb7..d14675d 100644 --- a/cmd/btrfs-rec/main.go +++ b/cmd/btrfs-rec/main.go @@ -14,7 +14,6 @@ import ( "github.com/datawire/ocibuild/pkg/cliutil" "github.com/sirupsen/logrus" "github.com/spf13/cobra" - "github.com/spf13/pflag" "git.lukeshu.com/btrfs-progs-ng/lib/btrfs" "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsvol" @@ -22,19 +21,6 @@ import ( "git.lukeshu.com/btrfs-progs-ng/lib/textui" ) -type logLevelFlag struct { - logrus.Level -} - -func (lvl *logLevelFlag) Type() string { return "loglevel" } -func (lvl *logLevelFlag) Set(str string) error { - var err error - lvl.Level, err = logrus.ParseLevel(str) - return err -} - -var _ pflag.Value = (*logLevelFlag)(nil) - type subcommand struct { cobra.Command RunE func(*btrfs.FS, *cobra.Command, []string) error @@ -43,7 +29,7 @@ type subcommand struct { var inspectors, repairers []subcommand func main() { - logLevelFlag := logLevelFlag{ + logLevelFlag := textui.LogLevelFlag{ Level: logrus.InfoLevel, } var pvsFlag []string @@ -115,9 +101,7 @@ func main() { runE := child.RunE cmd.RunE = func(cmd *cobra.Command, args []string) error { ctx := cmd.Context() - logger := logrus.New() - logger.SetLevel(logLevelFlag.Level) - ctx = dlog.WithLogger(ctx, dlog.WrapLogrus(logger)) + ctx = dlog.WithLogger(ctx, textui.NewLogger(logLevelFlag.Level)) grp := dgroup.NewGroup(ctx, dgroup.GroupConfig{ EnableSignalHandling: true, -- cgit v1.2.3-2-g168b From 29ad8ec24e07888953c14fb5435d2e8e2023931b Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 25 Dec 2022 22:47:51 -0700 Subject: textui: Implement a custom dlog backend that uses x/text/message --- cmd/btrfs-rec/main.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'cmd/btrfs-rec/main.go') diff --git a/cmd/btrfs-rec/main.go b/cmd/btrfs-rec/main.go index d14675d..1135be2 100644 --- a/cmd/btrfs-rec/main.go +++ b/cmd/btrfs-rec/main.go @@ -12,7 +12,6 @@ import ( "github.com/datawire/dlib/dgroup" "github.com/datawire/dlib/dlog" "github.com/datawire/ocibuild/pkg/cliutil" - "github.com/sirupsen/logrus" "github.com/spf13/cobra" "git.lukeshu.com/btrfs-progs-ng/lib/btrfs" @@ -30,7 +29,7 @@ var inspectors, repairers []subcommand func main() { logLevelFlag := textui.LogLevelFlag{ - Level: logrus.InfoLevel, + Level: dlog.LogLevelInfo, } var pvsFlag []string var mappingsFlag string @@ -101,7 +100,7 @@ func main() { runE := child.RunE cmd.RunE = func(cmd *cobra.Command, args []string) error { ctx := cmd.Context() - ctx = dlog.WithLogger(ctx, textui.NewLogger(logLevelFlag.Level)) + ctx = dlog.WithLogger(ctx, textui.NewLogger(os.Stderr, logLevelFlag.Level)) grp := dgroup.NewGroup(ctx, dgroup.GroupConfig{ EnableSignalHandling: true, -- cgit v1.2.3-2-g168b From b1b37ae185fc4fa540c355f46511c309b5e62339 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 25 Dec 2022 22:49:19 -0700 Subject: cmd/btrfs-rec: Set the dlog fallback logger --- cmd/btrfs-rec/main.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'cmd/btrfs-rec/main.go') diff --git a/cmd/btrfs-rec/main.go b/cmd/btrfs-rec/main.go index 1135be2..3a00544 100644 --- a/cmd/btrfs-rec/main.go +++ b/cmd/btrfs-rec/main.go @@ -100,7 +100,9 @@ func main() { runE := child.RunE cmd.RunE = func(cmd *cobra.Command, args []string) error { ctx := cmd.Context() - ctx = dlog.WithLogger(ctx, textui.NewLogger(os.Stderr, logLevelFlag.Level)) + logger := textui.NewLogger(os.Stderr, logLevelFlag.Level) + ctx = dlog.WithLogger(ctx, logger) + dlog.SetFallbackLogger(logger.WithField("btrfs-progs.THIS_IS_A_BUG", true)) grp := dgroup.NewGroup(ctx, dgroup.GroupConfig{ EnableSignalHandling: true, -- cgit v1.2.3-2-g168b From d5737a0e71b17a97b82ae68e49acc41a08fcc0ad Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 26 Dec 2022 22:02:13 -0700 Subject: cmd/btrfs-rec: Add a utility function for reading JSON files with progress --- cmd/btrfs-rec/main.go | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'cmd/btrfs-rec/main.go') diff --git a/cmd/btrfs-rec/main.go b/cmd/btrfs-rec/main.go index 3a00544..87e8696 100644 --- a/cmd/btrfs-rec/main.go +++ b/cmd/btrfs-rec/main.go @@ -6,7 +6,6 @@ package main import ( "context" - "encoding/json" "os" "github.com/datawire/dlib/dgroup" @@ -122,14 +121,10 @@ func main() { }() if mappingsFlag != "" { - bs, err := os.ReadFile(mappingsFlag) + mappingsJSON, err := readJSONFile[[]btrfsvol.Mapping](ctx, mappingsFlag) if err != nil { return err } - var mappingsJSON []btrfsvol.Mapping - if err := json.Unmarshal(bs, &mappingsJSON); err != nil { - return err - } for _, mapping := range mappingsJSON { if err := fs.LV.AddMapping(mapping); err != nil { return err -- cgit v1.2.3-2-g168b From 3d0937e9ab148c074922b0d46ed33bdbcbef85b5 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 28 Dec 2022 18:14:14 -0700 Subject: cmd/btrfs-rec: Have all logging include live memory statistics --- cmd/btrfs-rec/main.go | 1 + 1 file changed, 1 insertion(+) (limited to 'cmd/btrfs-rec/main.go') diff --git a/cmd/btrfs-rec/main.go b/cmd/btrfs-rec/main.go index 87e8696..13ae886 100644 --- a/cmd/btrfs-rec/main.go +++ b/cmd/btrfs-rec/main.go @@ -101,6 +101,7 @@ func main() { ctx := cmd.Context() logger := textui.NewLogger(os.Stderr, logLevelFlag.Level) ctx = dlog.WithLogger(ctx, logger) + ctx = dlog.WithField(ctx, "mem", new(textui.LiveMemUse)) dlog.SetFallbackLogger(logger.WithField("btrfs-progs.THIS_IS_A_BUG", true)) grp := dgroup.NewGroup(ctx, dgroup.GroupConfig{ -- cgit v1.2.3-2-g168b