From 09644aeaafacf84f88ba4c653cfd65f02d685e5b Mon Sep 17 00:00:00 2001 From: andrzej Date: Mon, 4 Nov 2024 21:13:28 +0100 Subject: [PATCH] log to file --- files.go | 6 +++--- image.go | 5 ++--- main.go | 24 ++++++++++++++++++++---- 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/files.go b/files.go index 6709520..303743f 100644 --- a/files.go +++ b/files.go @@ -1,7 +1,7 @@ package main import ( - "fmt" + "log" "math/rand" "os" "regexp" @@ -20,13 +20,13 @@ func getRandomFile(dir string) (path string, filename string, error error) { randomImg = files[randomIndex] //re-roll if you get a directory if files[randomIndex].IsDir() { - fmt.Printf("%v is a directory. Trying again... \n", randomImg.Name()) + log.Printf("%v is a directory. Trying again... \n", randomImg.Name()) continue } //re-roll if not a recognised image type isImage, _ := regexp.Match(".jpg$|.jpeg$|.png$|.bmp$|.webp$", []byte(randomImg.Name())) if !isImage { - fmt.Printf("%v is not a recognised image format\n", randomImg.Name()) + log.Printf("%v is not a recognised image format\n", randomImg.Name()) continue } //TODO: re-roll if you get the same image diff --git a/image.go b/image.go index 3f180b8..0d3289b 100644 --- a/image.go +++ b/image.go @@ -1,7 +1,6 @@ package main import ( - "fmt" "image" "log" "os" @@ -38,7 +37,7 @@ func hexToHSL(string) [3]int { func pickRandomImage(dir string) (string, error) { dir = config.ImagesDir + dir - fmt.Printf("getting random file from %v\n", dir) + log.Printf("getting random file from %v\n", dir) randomImg, filename, _ := getRandomFile(dir) filenameNoExt := strings.TrimSuffix(filename, filepath.Ext(filename)) @@ -51,7 +50,7 @@ func pickRandomImage(dir string) (string, error) { if !fileExists { img, err := loadImage(randomImg) if err != nil { - fmt.Printf("failed to load image %v", randomImg) + log.Printf("failed to load image %v", randomImg) return "", err } dst := processImage(img, config) diff --git a/main.go b/main.go index d5f7f6a..7029e01 100644 --- a/main.go +++ b/main.go @@ -1,8 +1,7 @@ package main import ( - "fmt" - // "log" + "log" "os" "sync" ) @@ -12,7 +11,15 @@ var config Config func main() { config.load() - fmt.Printf("%+v\n", config) + + //TODO: only log to file if flagged + logfile, err := openLogfile() + if err != nil { + log.Printf("error opening logfile %v: %v", config.Cache, err) + } + log.SetOutput(logfile) + log.SetFlags(log.LstdFlags | log.Lshortfile | log.Lmicroseconds) + log.Println("Welcome to GoPaper!") var waitGroup sync.WaitGroup waitGroup.Add(1) @@ -25,9 +32,18 @@ func main() { if len(args) > 0 { dir = args[0] } else { - dir = "" + dir = config.Default } slideshowDir <- dir waitGroup.Wait() } + +func openLogfile() (*os.File, error) { + //TODO: log rotation + f, err := os.OpenFile(config.Cache+"/logfile", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666) + if err != nil { + return nil, err + } + return f, nil +}