为什么log.Lshortfile总是在实现logger包的地方打印相同的文件名

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 ?