From 96eff04537b5b180c028a53db6ecc5a38fd566d8 Mon Sep 17 00:00:00 2001 From: Gitea Date: Sun, 1 Dec 2019 21:25:34 +0100 Subject: [PATCH 1/5] Fixed errors logging in dump.go --- cmd/dump.go | 59 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 33 insertions(+), 26 deletions(-) diff --git a/cmd/dump.go b/cmd/dump.go index 1bf6901769fbc..9f80fe9bfd911 100644 --- a/cmd/dump.go +++ b/cmd/dump.go @@ -8,7 +8,6 @@ package cmd import ( "fmt" "io/ioutil" - "log" "os" "path" "path/filepath" @@ -16,6 +15,7 @@ import ( "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/setting" + "code.gitea.io/gitea/modules/log" "github.com/unknwon/cae/zip" "github.com/unknwon/com" @@ -55,6 +55,12 @@ It can be used for backup and capture Gitea server image to send to maintainer`, }, } +func fatal(format string, args ...interface{}) { + logMessage := fmt.Sprintf(format, args...) + fmt.Fprintln(os.Stderr, logMessage) + log.Fatal(logMessage) +} + func runDump(ctx *cli.Context) error { setting.NewContext() setting.NewServices() // cannot access session settings otherwise @@ -66,13 +72,13 @@ func runDump(ctx *cli.Context) error { tmpDir := ctx.String("tempdir") if _, err := os.Stat(tmpDir); os.IsNotExist(err) { - log.Fatalf("Path does not exist: %s", tmpDir) + fatal("Path does not exist: %s", tmpDir) } tmpWorkDir, err := ioutil.TempDir(tmpDir, "gitea-dump-") if err != nil { - log.Fatalf("Failed to create tmp work directory: %v", err) + fatal("Failed to create tmp work directory: %v", err) } - log.Printf("Creating tmp work dir: %s", tmpWorkDir) + log.Info("Creating tmp work dir: %s", tmpWorkDir) // work-around #1103 if os.Getenv("TMPDIR") == "" { @@ -82,88 +88,89 @@ func runDump(ctx *cli.Context) error { dbDump := path.Join(tmpWorkDir, "gitea-db.sql") fileName := ctx.String("file") - log.Printf("Packing dump files...") + log.Info("Packing dump files...") z, err := zip.Create(fileName) if err != nil { - log.Fatalf("Failed to create %s: %v", fileName, err) + fatal("Failed to create %s: %v", fileName, err) } + zip.Verbose = ctx.Bool("verbose") if ctx.IsSet("skip-repository") { - log.Printf("Skip dumping local repositories") + log.Info("Skip dumping local repositories") } else { - log.Printf("Dumping local repositories...%s", setting.RepoRootPath) + log.Info("Dumping local repositories...%s", setting.RepoRootPath) reposDump := path.Join(tmpWorkDir, "gitea-repo.zip") if err := zip.PackTo(setting.RepoRootPath, reposDump, true); err != nil { - log.Fatalf("Failed to dump local repositories: %v", err) + log.Fatal("Failed to dump local repositories: %v", err) } if err := z.AddFile("gitea-repo.zip", reposDump); err != nil { - log.Fatalf("Failed to include gitea-repo.zip: %v", err) + log.Fatal("Failed to include gitea-repo.zip: %v", err) } } targetDBType := ctx.String("database") if len(targetDBType) > 0 && targetDBType != setting.Database.Type { - log.Printf("Dumping database %s => %s...", setting.Database.Type, targetDBType) + log.Info("Dumping database %s => %s...", setting.Database.Type, targetDBType) } else { - log.Printf("Dumping database...") + log.Info("Dumping database...") } if err := models.DumpDatabase(dbDump, targetDBType); err != nil { - log.Fatalf("Failed to dump database: %v", err) + log.Fatal("Failed to dump database: %v", err) } if err := z.AddFile("gitea-db.sql", dbDump); err != nil { - log.Fatalf("Failed to include gitea-db.sql: %v", err) + log.Fatal("Failed to include gitea-db.sql: %v", err) } if len(setting.CustomConf) > 0 { - log.Printf("Adding custom configuration file from %s", setting.CustomConf) + log.Info("Adding custom configuration file from %s", setting.CustomConf) if err := z.AddFile("app.ini", setting.CustomConf); err != nil { - log.Fatalf("Failed to include specified app.ini: %v", err) + log.Fatal("Failed to include specified app.ini: %v", err) } } customDir, err := os.Stat(setting.CustomPath) if err == nil && customDir.IsDir() { if err := z.AddDir("custom", setting.CustomPath); err != nil { - log.Fatalf("Failed to include custom: %v", err) + log.Fatal("Failed to include custom: %v", err) } } else { - log.Printf("Custom dir %s doesn't exist, skipped", setting.CustomPath) + log.Info("Custom dir %s doesn't exist, skipped", setting.CustomPath) } if com.IsExist(setting.AppDataPath) { - log.Printf("Packing data directory...%s", setting.AppDataPath) + log.Info("Packing data directory...%s", setting.AppDataPath) var sessionAbsPath string if setting.SessionConfig.Provider == "file" { sessionAbsPath = setting.SessionConfig.ProviderConfig } if err := zipAddDirectoryExclude(z, "data", setting.AppDataPath, sessionAbsPath); err != nil { - log.Fatalf("Failed to include data directory: %v", err) + log.Fatal("Failed to include data directory: %v", err) } } if err := z.AddDir("log", setting.LogRootPath); err != nil { - log.Fatalf("Failed to include log: %v", err) + log.Fatal("Failed to include log: %v", err) } if err = z.Close(); err != nil { _ = os.Remove(fileName) - log.Fatalf("Failed to save %s: %v", fileName, err) + log.Fatal("Failed to save %s: %v", fileName, err) } if err := os.Chmod(fileName, 0600); err != nil { - log.Printf("Can't change file access permissions mask to 0600: %v", err) + log.Info("Can't change file access permissions mask to 0600: %v", err) } - log.Printf("Removing tmp work dir: %s", tmpWorkDir) + log.Info("Removing tmp work dir: %s", tmpWorkDir) if err := os.RemoveAll(tmpWorkDir); err != nil { - log.Fatalf("Failed to remove %s: %v", tmpWorkDir, err) + log.Fatal("Failed to remove %s: %v", tmpWorkDir, err) } - log.Printf("Finish dumping in file %s", fileName) + log.Info("Finish dumping in file %s", fileName) return nil } From a5a319060b49784c26c302871cc575be5f92688b Mon Sep 17 00:00:00 2001 From: Gitea Date: Mon, 2 Dec 2019 21:50:06 +0100 Subject: [PATCH 2/5] Replaced overlooked log.Fatal() with fatal() --- cmd/dump.go | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/cmd/dump.go b/cmd/dump.go index 9f80fe9bfd911..db72372735f6d 100644 --- a/cmd/dump.go +++ b/cmd/dump.go @@ -56,9 +56,8 @@ It can be used for backup and capture Gitea server image to send to maintainer`, } func fatal(format string, args ...interface{}) { - logMessage := fmt.Sprintf(format, args...) - fmt.Fprintln(os.Stderr, logMessage) - log.Fatal(logMessage) + fmt.Fprintf(os.Stderr, format, args...) + log.Fatal(format, args...) } func runDump(ctx *cli.Context) error { @@ -102,10 +101,10 @@ func runDump(ctx *cli.Context) error { log.Info("Dumping local repositories...%s", setting.RepoRootPath) reposDump := path.Join(tmpWorkDir, "gitea-repo.zip") if err := zip.PackTo(setting.RepoRootPath, reposDump, true); err != nil { - log.Fatal("Failed to dump local repositories: %v", err) + fatal("Failed to dump local repositories: %v", err) } if err := z.AddFile("gitea-repo.zip", reposDump); err != nil { - log.Fatal("Failed to include gitea-repo.zip: %v", err) + fatal("Failed to include gitea-repo.zip: %v", err) } } @@ -117,24 +116,24 @@ func runDump(ctx *cli.Context) error { } if err := models.DumpDatabase(dbDump, targetDBType); err != nil { - log.Fatal("Failed to dump database: %v", err) + fatal("Failed to dump database: %v", err) } if err := z.AddFile("gitea-db.sql", dbDump); err != nil { - log.Fatal("Failed to include gitea-db.sql: %v", err) + fatal("Failed to include gitea-db.sql: %v", err) } if len(setting.CustomConf) > 0 { log.Info("Adding custom configuration file from %s", setting.CustomConf) if err := z.AddFile("app.ini", setting.CustomConf); err != nil { - log.Fatal("Failed to include specified app.ini: %v", err) + fatal("Failed to include specified app.ini: %v", err) } } customDir, err := os.Stat(setting.CustomPath) if err == nil && customDir.IsDir() { if err := z.AddDir("custom", setting.CustomPath); err != nil { - log.Fatal("Failed to include custom: %v", err) + fatal("Failed to include custom: %v", err) } } else { log.Info("Custom dir %s doesn't exist, skipped", setting.CustomPath) @@ -148,17 +147,17 @@ func runDump(ctx *cli.Context) error { sessionAbsPath = setting.SessionConfig.ProviderConfig } if err := zipAddDirectoryExclude(z, "data", setting.AppDataPath, sessionAbsPath); err != nil { - log.Fatal("Failed to include data directory: %v", err) + fatal("Failed to include data directory: %v", err) } } if err := z.AddDir("log", setting.LogRootPath); err != nil { - log.Fatal("Failed to include log: %v", err) + fatal("Failed to include log: %v", err) } if err = z.Close(); err != nil { _ = os.Remove(fileName) - log.Fatal("Failed to save %s: %v", fileName, err) + fatal("Failed to save %s: %v", fileName, err) } if err := os.Chmod(fileName, 0600); err != nil { @@ -168,7 +167,7 @@ func runDump(ctx *cli.Context) error { log.Info("Removing tmp work dir: %s", tmpWorkDir) if err := os.RemoveAll(tmpWorkDir); err != nil { - log.Fatal("Failed to remove %s: %v", tmpWorkDir, err) + fatal("Failed to remove %s: %v", tmpWorkDir, err) } log.Info("Finish dumping in file %s", fileName) From 2c5dfa2432a334b920571ee83ea7f165a3f3c968 Mon Sep 17 00:00:00 2001 From: Gitea Date: Mon, 2 Dec 2019 21:51:54 +0100 Subject: [PATCH 3/5] Run make fmt on dump.go --- cmd/dump.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/dump.go b/cmd/dump.go index db72372735f6d..679349b205628 100644 --- a/cmd/dump.go +++ b/cmd/dump.go @@ -14,8 +14,8 @@ import ( "time" "code.gitea.io/gitea/models" - "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/log" + "code.gitea.io/gitea/modules/setting" "github.com/unknwon/cae/zip" "github.com/unknwon/com" From 03a91e61c513009cae86d25556a47dd1324ac9fe Mon Sep 17 00:00:00 2001 From: Gitea Date: Mon, 2 Dec 2019 21:57:34 +0100 Subject: [PATCH 4/5] Added missing new line to the fatal log --- cmd/dump.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/dump.go b/cmd/dump.go index 679349b205628..19850ac836c7e 100644 --- a/cmd/dump.go +++ b/cmd/dump.go @@ -56,7 +56,7 @@ It can be used for backup and capture Gitea server image to send to maintainer`, } func fatal(format string, args ...interface{}) { - fmt.Fprintf(os.Stderr, format, args...) + fmt.Fprintf(os.Stderr, format + "\n", args...) log.Fatal(format, args...) } From aa9f955a06943c96c3b79d089f6a3b3285067d98 Mon Sep 17 00:00:00 2001 From: Gitea Date: Mon, 2 Dec 2019 22:19:41 +0100 Subject: [PATCH 5/5] Run make fmt on dump.go --- cmd/dump.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/dump.go b/cmd/dump.go index 19850ac836c7e..6cbf04c468ff7 100644 --- a/cmd/dump.go +++ b/cmd/dump.go @@ -56,7 +56,7 @@ It can be used for backup and capture Gitea server image to send to maintainer`, } func fatal(format string, args ...interface{}) { - fmt.Fprintf(os.Stderr, format + "\n", args...) + fmt.Fprintf(os.Stderr, format+"\n", args...) log.Fatal(format, args...) }