Skip to content

Commit

Permalink
refactor log reading functionality to remove optional file name param…
Browse files Browse the repository at this point in the history
…eter and improve error handling
  • Loading branch information
abaldeweg authored Jan 25, 2025
1 parent f590c59 commit 1e5777c
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 21 deletions.
15 changes: 5 additions & 10 deletions logs/parser/parser.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,15 @@ import (
)

// ReadLogEntries reads log entries from log files and returns them as a slice of LogEntry.
func ReadLogEntries(optionalFileName ...string) ([]entity.LogEntry, error) {
func ReadLogEntries() ([]entity.LogEntry, error) {
var logFiles []string
var err error

if len(optionalFileName) > 0 {
logFiles = optionalFileName
fmt.Println("passed log file: ", logFiles)
} else {
logFiles, err = listAndFilterLogFiles("data/source/*")
fmt.Println("read files from fs")
if err != nil {
return nil, err
}
logFiles, err = listAndFilterLogFiles("data/source/*")
if err != nil {
return nil, err
}
fmt.Println("found files: ", logFiles)

var entries []entity.LogEntry
for _, logFile := range logFiles {
Expand Down
22 changes: 12 additions & 10 deletions logs_import/cmd/cli.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package cmd
import (
"fmt"
"log"
"os"
"strconv"
"time"

Expand All @@ -18,36 +19,37 @@ var ImportLogsCmd = &cobra.Command{
Short: "Read logs from the log file and import them into the database",
Args: cobra.MaximumNArgs(1),
Run: func(cmd *cobra.Command, args []string) {
var fileName string
if len(args) > 0 {
fileName = args[0]
}

entries, err := parser.ReadLogEntries(fileName)
entries, err := parser.ReadLogEntries()
if err != nil {
log.Fatal(err)
log.Println(err)
os.Exit(1)
}

h, err := db.NewDBHandler()
if err != nil {
log.Fatal(err)
log.Println(err)
os.Exit(1)
}
defer h.Close()

for _, entry := range entries {
date, _ := strconv.Atoi(time.Time(entry.Time).Format("20060102"))
fmt.Println(date)
exists, err := h.Exists(date, entry)
if err != nil {
log.Fatal(err)
log.Println(err)
os.Exit(1)
}
if !exists {
if err := h.Write(date, entry); err != nil {
log.Fatal(err)
log.Println(err)
os.Exit(1)
}
}
}

fmt.Println("\033[32mLogs successfully imported!\033[0m")
os.Exit(0)
},
}

Expand Down
2 changes: 1 addition & 1 deletion logs_import/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ module github.com/abaldeweg/warehouse-server/logs_import
go 1.23.2

require (
github.com/abaldeweg/warehouse-server/logs v0.0.0-20250124073805-d0d2d0625966
github.com/abaldeweg/warehouse-server/logs v0.0.0-20250124170444-f1742e7bba0f
github.com/spf13/cobra v1.8.1
)

Expand Down
2 changes: 2 additions & 0 deletions logs_import/go.sum
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
github.com/abaldeweg/warehouse-server/logs v0.0.0-20250124073805-d0d2d0625966 h1:k30sj2cDThdi76kavTN6w/ZDxTWg9PMKErRXzh7fyW0=
github.com/abaldeweg/warehouse-server/logs v0.0.0-20250124073805-d0d2d0625966/go.mod h1:2uw8MX5qdiQauGUtx4TmR3ZK06fykF7rRVKLqi2LxSY=
github.com/abaldeweg/warehouse-server/logs v0.0.0-20250124170444-f1742e7bba0f h1:YYzuIO6RNnPTYhNJ2qqsdj9HmBZ5RxKUWyhu8hNIQ7Q=
github.com/abaldeweg/warehouse-server/logs v0.0.0-20250124170444-f1742e7bba0f/go.mod h1:2uw8MX5qdiQauGUtx4TmR3ZK06fykF7rRVKLqi2LxSY=
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
Expand Down

0 comments on commit 1e5777c

Please sign in to comment.