Filename: appLogger.go
package main
import (
"log"
"os"
"time"
)
var (
logpath = "trace/trace.log"
)
var cLog *appLogger
type appLogger struct {
t *log.Logger
}
func appNewLogger() (*appLogger, error) {
now := time.Now()
dt := now.Format(time.RFC3339)
fp, err := os.Create(logpath + dt)
if err != nil {
return nil, err
}
cLog.t = log.New(fp, "TRACE:", log.Ldate|log.Ltime|log.Lshortfile),
return cLog, nil
}
func (trc *appLogger) trace(f string) {
trc.t.Println(f)
}
I invoke the above trace() method from another file main.go
cLog.trace("Logging initialized")
The trace.log file always logs with appLogger.go for log.Lshortfile even though the logger is invoked from main.go. What is the problem here ?