refactor: call database functions from app.Server.Database instead of directly from db

This commit is contained in:
2024-08-19 21:00:46 +07:00
parent 6a183f2c4e
commit fa2f4e8a87
18 changed files with 69 additions and 63 deletions

View File

@ -1,6 +1,7 @@
package logger
import (
"flag"
"fmt"
"io"
"log"
@ -8,6 +9,9 @@ import (
"time"
)
var logFlag *bool
var infoLoggerWriter io.Writer
type AggregatedLogger struct {
infoLogger *log.Logger
warnLogger *log.Logger
@ -16,6 +20,9 @@ type AggregatedLogger struct {
}
func init() {
logFlag = flag.Bool("log", false, "Enable logging")
flag.Parse()
if _, err := os.Stat("log"); os.IsNotExist(err) {
os.Mkdir("log", os.ModePerm)
}
@ -25,15 +32,23 @@ func Logger() *AggregatedLogger {
currentTime := time.Now()
formattedTime := currentTime.Format("2006-01-02-15-04")
file, err := os.OpenFile(fmt.Sprintf("log/log-%s.log", formattedTime), os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
multiLogger := io.MultiWriter(os.Stdout, file)
if err != nil {
return &AggregatedLogger{}
}
flag := log.Ldate | log.Ltime
multiLogger := io.MultiWriter(os.Stdout, file)
infoLogger := log.New(file, "INFO: ", flag)
warnLogger := log.New(multiLogger, "WARN: ", flag)
errorLogger := log.New(multiLogger, "ERROR: ", flag)
panicLogger := log.New(multiLogger, "PANIC: ", flag)
if *logFlag {
infoLoggerWriter = multiLogger
} else {
infoLoggerWriter = file
}
slug := log.Ldate | log.Ltime
infoLogger := log.New(infoLoggerWriter, "INFO: ", slug)
warnLogger := log.New(multiLogger, "WARN: ", slug)
errorLogger := log.New(multiLogger, "ERROR: ", slug)
panicLogger := log.New(multiLogger, "PANIC: ", slug)
return &AggregatedLogger{
infoLogger: infoLogger,