package golog import ( "os" "log" "io/fs" // xconfig "dbmanager/internal/xconfig" ) type FlexiLog struct { Handler *log.Logger perm fs.FileMode path string } func GetLogger(path string) (*FlexiLog) { fl := new (FlexiLog) //cfg := xconfig.GetConfig() lh, err := os.OpenFile(path, os.O_CREATE|os.O_APPEND|os.O_RDWR, 0644) if err != nil { log.Fatalf(path + " is not writable. Exiting.") } fl.Handler = log.New(lh, "", log.Ldate | log.Lmicroseconds | log.Llongfile) fl.Handler.SetOutput(lh) fl.Handler.SetFlags(log.Ldate | log.Lmicroseconds | log.Llongfile) /*if cfg.Log_level == "emerg" { fl.Handler.SetPrefix("EMERG: ") } else if cfg.Log_level == "alert" { fl.Handler.SetPrefix("ALERT: ") } else if cfg.Log_level == "critical" { fl.Handler.SetPrefix("CRITICAL: ") } else if cfg.Log_level == "error" { fl.Handler.SetPrefix("ERROR: ") } else if cfg.Log_level == "warning" { fl.Handler.SetPrefix("WARNING: ") } else if cfg.Log_level == "notice" { fl.Handler.SetPrefix("NOTICE: ") } else if cfg.Log_level == "info" { fl.Handler.SetPrefix("INFO: ") } else if cfg.Log_level == "debug" { fl.Handler.SetPrefix("DEBUG: ") }*/ fl.Handler.SetPrefix("INFO: ") //fl.Handler.Println("Log file initialised") return fl } func check(e error) { if e != nil { panic(e) } }