2 回答
TA贡献1864条经验 获得超6个赞
因此,首先,根据您上面的代码,您尝试设置一个带有指针记录器的非指针记录器,但该指针记录器不起作用。其次,您在设置 dlog 时使用 := ,它在您的 main 方法中创建一个作用域变量,而不是设置您的全局变量
TA贡献1851条经验 获得超5个赞
我试过这个:
import (
"fmt"
"github.com/pkg/errors"
"log"
"os"
)
const logfile string = "killer.log"
const logprefix string = "LOGTEST: "
var DLog *log.Logger
func setupLogger(filename, prefix string) {
var err error
out, err := os.OpenFile(filename, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
if err != nil {
log.Fatal( nil, errors.Wrap(err, "can't open logfile for writing"))
}
DLog=log.New(out, prefix, log.LstdFlags)
fmt.Println("Log object: ",DLog)
}
func uselog() error {
DLog.Print("Hello") ///// < Here is the issue
DLog.Print("I have something standard to say")
fmt.Println("I am done")
return nil
}
func main() {
setupLogger(logfile, logprefix)
DLog.Printf("test from main")
uselog()
}
- 2 回答
- 0 关注
- 105 浏览
添加回答
举报