Почему log.Lshortfile всегда печатает одно и то же имя файла, где реализован пакет logger - PullRequest
0 голосов
/ 13 декабря 2018

Имя файла: 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)
}

Я вызываю указанный выше метод trace () из другого файла main.go

cLog.trace («Logized initialized») *

Файл trace.log всегда регистрируется с appLogger.go для log.Lshortfile, даже если регистратор вызывается из main.go.В чем здесь проблема?

...