refactor: replace log with slog
This commit is contained in:
parent
179e2a6ec3
commit
31881c2daf
9 changed files with 61 additions and 48 deletions
|
|
@ -2,7 +2,7 @@ package cmd
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"log/slog"
|
||||
|
||||
"system_setup_tool/internal/utils"
|
||||
pm "system_setup_tool/pkg/packagemanager"
|
||||
|
|
@ -19,9 +19,10 @@ var checkCmd = &cobra.Command{
|
|||
packageName := args[0]
|
||||
managerName, _ := cmd.Flags().GetString("manager")
|
||||
var manager pm.PackageManager
|
||||
if managerName == "os" {
|
||||
switch managerName {
|
||||
case "os":
|
||||
managerName = "OS Package Manager"
|
||||
} else if managerName == "brew" {
|
||||
case "brew":
|
||||
managerName = "homebrew"
|
||||
}
|
||||
switch managerName {
|
||||
|
|
@ -39,11 +40,11 @@ var checkCmd = &cobra.Command{
|
|||
fmt.Println("No PackageManager found")
|
||||
}
|
||||
if err := manager.Check(packageName); err != nil {
|
||||
log.Printf("error: %v\n", err)
|
||||
slog.Error(err.Error())
|
||||
}
|
||||
fmt.Printf("Package: %s installed\n", packageName)
|
||||
if err := utils.LogToHistory("checked", packageName, manager.Name()); err != nil {
|
||||
fmt.Println("error logging action:", err)
|
||||
slog.Error(fmt.Sprintf("error logging action: %v", err))
|
||||
}
|
||||
},
|
||||
}
|
||||
|
|
|
|||
11
cmd/cmd.go
11
cmd/cmd.go
|
|
@ -2,9 +2,10 @@ package cmd
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"log/slog"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"system_setup_tool/internal/tui"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
|
|
@ -71,7 +72,7 @@ func initConfig() {
|
|||
viper.SetConfigType("toml")
|
||||
dirname, err := os.UserConfigDir()
|
||||
if err != nil {
|
||||
log.Println("cant obtain config dir")
|
||||
slog.Error("cant obtain config dir")
|
||||
} else {
|
||||
viper.AddConfigPath(filepath.Join(dirname, "sst"))
|
||||
}
|
||||
|
|
@ -81,11 +82,11 @@ func initConfig() {
|
|||
if _, ok := err.(viper.ConfigFileNotFoundError); ok {
|
||||
fmt.Println("no config file found, creating a new one...")
|
||||
if err := createDefaultConfig(); err != nil {
|
||||
log.Printf("error creating default config: %v\n", err)
|
||||
slog.Error(fmt.Sprintf("creating default config: %v\n", err))
|
||||
os.Exit(1)
|
||||
}
|
||||
} else {
|
||||
log.Printf("error reading config file: %v\n", err)
|
||||
slog.Error(fmt.Sprintf("reading config file: %v\n", err))
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
|
|
@ -119,7 +120,7 @@ func createDefaultConfig() error {
|
|||
v.SetDefault("package_managers.os.packages", []string{})
|
||||
|
||||
configDir := filepath.Join(os.Getenv("HOME"), ".config", "sst")
|
||||
if err := os.MkdirAll(configDir, 0755); err != nil {
|
||||
if err := os.MkdirAll(configDir, 0o755); err != nil {
|
||||
return fmt.Errorf("error creating config dir: %w", err)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ package cmd
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"log/slog"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
|
|
@ -16,7 +16,7 @@ var historyCmd = &cobra.Command{
|
|||
Run: func(cmd *cobra.Command, args []string) {
|
||||
dirname, err := os.UserConfigDir()
|
||||
if err != nil {
|
||||
log.Printf("error getting user config dir: %v\n", err)
|
||||
slog.Error(fmt.Sprintf("getting user config dir: %v\n", err))
|
||||
}
|
||||
historyFile := filepath.Join(dirname, "sst", "sst_history")
|
||||
content, err := os.ReadFile(historyFile)
|
||||
|
|
|
|||
|
|
@ -2,8 +2,10 @@ package cmd
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"log/slog"
|
||||
"os"
|
||||
"runtime"
|
||||
|
||||
"system_setup_tool/internal/utils"
|
||||
|
||||
pm "system_setup_tool/pkg/packagemanager"
|
||||
|
|
@ -20,9 +22,10 @@ var installCmd = &cobra.Command{
|
|||
packageName := args[0]
|
||||
managerName, _ := cmd.Flags().GetString("manager")
|
||||
var manager pm.PackageManager
|
||||
if managerName == "os" {
|
||||
switch managerName {
|
||||
case "os":
|
||||
managerName = "OS Package Manager"
|
||||
} else if managerName == "brew" {
|
||||
case "brew":
|
||||
managerName = "homebrew"
|
||||
}
|
||||
switch managerName {
|
||||
|
|
@ -30,7 +33,8 @@ var installCmd = &cobra.Command{
|
|||
if runtime.GOOS != "windows" {
|
||||
sudoPassword, err := utils.GetSudoPassword()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
slog.Error(err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
manager = pm.NewOSManager(sudoPassword)
|
||||
} else {
|
||||
|
|
@ -49,7 +53,7 @@ var installCmd = &cobra.Command{
|
|||
return
|
||||
}
|
||||
if err := manager.Install([]string{packageName}); err != nil {
|
||||
log.Printf("error: %v\n", err)
|
||||
slog.Error(err.Error())
|
||||
}
|
||||
if err := utils.LogToHistory("installed", packageName, manager.Name()); err != nil {
|
||||
fmt.Println("error logging action:", err)
|
||||
|
|
|
|||
|
|
@ -2,8 +2,11 @@ package cmd
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"log/slog"
|
||||
"os"
|
||||
"slices"
|
||||
"sort"
|
||||
|
||||
"system_setup_tool/internal/utils"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
|
|
@ -42,11 +45,9 @@ var addCmd = &cobra.Command{
|
|||
} else {
|
||||
packages := viper.GetStringSlice(fmt.Sprintf("package_managers.%s.packages", manager))
|
||||
|
||||
for _, pkg := range packages {
|
||||
if pkg == name {
|
||||
fmt.Printf("Package %s is already present in the configuration for %s\n", name, manager)
|
||||
return
|
||||
}
|
||||
if slices.Contains(packages, name) {
|
||||
fmt.Printf("Package %s is already present in the configuration for %s\n", name, manager)
|
||||
return
|
||||
}
|
||||
|
||||
packages = append(packages, name)
|
||||
|
|
@ -87,7 +88,7 @@ var deleteCmd = &cobra.Command{
|
|||
|
||||
for i, pkg := range packages {
|
||||
if pkg == name {
|
||||
packages = append(packages[:i], packages[i+1:]...)
|
||||
packages = slices.Delete(packages, i, i+1)
|
||||
if isHeadless {
|
||||
viper.Set("packages.headless", packages)
|
||||
} else {
|
||||
|
|
@ -95,7 +96,7 @@ var deleteCmd = &cobra.Command{
|
|||
}
|
||||
|
||||
if err := viper.WriteConfig(); err != nil {
|
||||
fmt.Printf("Error writing configuration: %v\n", err)
|
||||
slog.Error(fmt.Sprintf("Error writing configuration: %v\n", err))
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
|
|
@ -110,11 +111,11 @@ var deleteCmd = &cobra.Command{
|
|||
|
||||
for i, pkg := range packages {
|
||||
if pkg == name {
|
||||
packages = append(packages[:i], packages[i+1:]...)
|
||||
packages = slices.Delete(packages, i, i+1)
|
||||
viper.Set(fmt.Sprintf("package_managers.%s.packages", manager), packages)
|
||||
|
||||
if err := viper.WriteConfig(); err != nil {
|
||||
fmt.Printf("Error writing configuration: %v\n", err)
|
||||
slog.Error(fmt.Sprintf("Error writing configuration: %v\n", err))
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
|
|
@ -125,7 +126,7 @@ var deleteCmd = &cobra.Command{
|
|||
|
||||
fmt.Printf("Package %s was not found in the configuration for %s\n", name, manager)
|
||||
if err := utils.LogToHistory("removed", name, manager); err != nil {
|
||||
fmt.Println("error logging action:", err)
|
||||
slog.Error(fmt.Sprintf("error logging action: %v", err))
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -2,8 +2,9 @@ package cmd
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"log/slog"
|
||||
"runtime"
|
||||
|
||||
"system_setup_tool/internal/utils"
|
||||
|
||||
pm "system_setup_tool/pkg/packagemanager"
|
||||
|
|
@ -19,9 +20,10 @@ var removeCmd = &cobra.Command{
|
|||
packageName := args[0]
|
||||
managerName, _ := cmd.Flags().GetString("manager")
|
||||
var manager pm.PackageManager
|
||||
if managerName == "os" {
|
||||
switch managerName {
|
||||
case "os":
|
||||
managerName = "OS Package Manager"
|
||||
} else if managerName == "brew" {
|
||||
case "brew":
|
||||
managerName = "homebrew"
|
||||
}
|
||||
switch managerName {
|
||||
|
|
@ -29,7 +31,7 @@ var removeCmd = &cobra.Command{
|
|||
if runtime.GOOS != "windows" {
|
||||
sudoPassword, err := utils.GetSudoPassword()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
slog.Error(err.Error())
|
||||
}
|
||||
manager = pm.NewOSManager(sudoPassword)
|
||||
} else {
|
||||
|
|
@ -48,10 +50,10 @@ var removeCmd = &cobra.Command{
|
|||
return
|
||||
}
|
||||
if err := manager.RemovePackage(packageName); err != nil {
|
||||
log.Printf("error: %v\n", err)
|
||||
slog.Error(err.Error())
|
||||
}
|
||||
if err := utils.LogToHistory("removed", packageName, manager.Name()); err != nil {
|
||||
fmt.Println("error logging action:", err)
|
||||
slog.Error(fmt.Sprintf("error logging action: %v", err))
|
||||
}
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ package cmd
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"log/slog"
|
||||
"runtime"
|
||||
"strings"
|
||||
"sync"
|
||||
|
|
@ -21,9 +21,10 @@ var searchCmd = &cobra.Command{
|
|||
Run: func(cmd *cobra.Command, args []string) {
|
||||
packageName := args[0]
|
||||
managerName, _ := cmd.Flags().GetString("manager")
|
||||
if managerName == "os" {
|
||||
switch managerName {
|
||||
case "os":
|
||||
managerName = "OS Package Manager"
|
||||
} else if managerName == "brew" {
|
||||
case "brew":
|
||||
managerName = "homebrew"
|
||||
}
|
||||
|
||||
|
|
@ -46,7 +47,7 @@ var searchCmd = &cobra.Command{
|
|||
pm.NewOSManager(""),
|
||||
}
|
||||
default:
|
||||
log.Println("No Package Managers found")
|
||||
slog.Info("No Package Managers found")
|
||||
}
|
||||
|
||||
if managerName != "" {
|
||||
|
|
|
|||
|
|
@ -3,8 +3,10 @@ package cmd
|
|||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"log/slog"
|
||||
"runtime"
|
||||
"sync"
|
||||
|
||||
"system_setup_tool/internal/utils"
|
||||
pm "system_setup_tool/pkg/packagemanager"
|
||||
|
||||
|
|
@ -21,9 +23,10 @@ var updateCmd = &cobra.Command{
|
|||
packageName := args[0]
|
||||
managerName, _ := cmd.Flags().GetString("manager")
|
||||
var manager pm.PackageManager
|
||||
if managerName == "os" {
|
||||
switch managerName {
|
||||
case "os":
|
||||
managerName = "OS Package Manager"
|
||||
} else if managerName == "brew" {
|
||||
case "brew":
|
||||
managerName = "homebrew"
|
||||
}
|
||||
|
||||
|
|
@ -47,23 +50,23 @@ var updateCmd = &cobra.Command{
|
|||
case "flatpak":
|
||||
manager = &pm.FlatpakManager{}
|
||||
default:
|
||||
fmt.Println("No PackageManager found")
|
||||
slog.Info("No PackageManager found")
|
||||
return
|
||||
}
|
||||
if packageName != "" {
|
||||
if err := manager.UpdatePackage(packageName); err != nil {
|
||||
log.Printf("error: %v\n", err)
|
||||
slog.Error(err.Error())
|
||||
} else {
|
||||
if err := utils.LogToHistory("updated", packageName, manager.Name()); err != nil {
|
||||
fmt.Println("error logging action:", err)
|
||||
slog.Error(fmt.Sprintf("error logging action: %v", err))
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if err := manager.UpdateAllPackages(); err != nil {
|
||||
log.Printf("error: %v\n", err)
|
||||
slog.Error(err.Error())
|
||||
} else {
|
||||
if err := utils.LogToHistory("updated", "all", "all"); err != nil {
|
||||
fmt.Println("error logging action:", err)
|
||||
slog.Error(fmt.Sprintf("error logging action: %v", err))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -74,7 +77,6 @@ var updateAllCmd = &cobra.Command{
|
|||
Use: "update-all",
|
||||
Short: "update all packages with all package managers.",
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
|
||||
var managers []pm.PackageManager
|
||||
switch runtime.GOOS {
|
||||
case "linux":
|
||||
|
|
@ -120,7 +122,7 @@ func updateAllConcurrently(managers []pm.PackageManager) {
|
|||
fmt.Printf("Updating %s-Packages\n", manager.Name())
|
||||
err := manager.UpdateAllPackages()
|
||||
if err != nil {
|
||||
log.Printf("Error updating %s: %v\n", manager.Name(), err)
|
||||
slog.Error(fmt.Sprintf("updating %s: %v\n", manager.Name(), err))
|
||||
}
|
||||
}(m)
|
||||
}
|
||||
|
|
|
|||
5
main.go
5
main.go
|
|
@ -1,14 +1,15 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"log/slog"
|
||||
"os"
|
||||
|
||||
"system_setup_tool/cmd"
|
||||
)
|
||||
|
||||
func main() {
|
||||
if err := cmd.RootCmd.Execute(); err != nil {
|
||||
log.Println(err)
|
||||
slog.Error(err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue