现在,我决定在Go程序中使用水平记录器。现在是对数。
但是经过一番调查(经过痛苦),发现记录器很多:glog,log15,logrus等。所以,现在我想尝试使用logrus并拥有
可以在不固定我使用日志的所有源的情况下在另一个上进行更改。

我试图创建自己的仅导入logrus的包记录器:

package logger
import "github.com/Sirupsen/logrus"

func init() {
    logrus.SetFormater(new(logrus.TextFormater))
}

在所有其他我的资料中,我都想以这种方式使用i:
//main.go
package main
import log "logger"

func main() {
   log.Print(...)
   log.Debug(...)
   and so on
}

但是编译器告诉我,记录程序包中没有这样的方法。
有没有一种方法只是将某些程序包A导入到我自己的程序包B中,并在我的代码中使用从A到B的所有方法?

我需要这个的原因是将来有机会将logrus迅速更改为另一个logger,该logger支持相同的方法,只是替换我自己的logger文件中的几行代码而无需替换
在所有来源上的导入日志“github.com/some_beSTLogger”上的导入日志“github.com/Sirupsen/logrus”

最佳答案

您可以仅出于其副作用导入logger包,而仍然直接使用logrus包:

package main

import (
    log "github.com/Sirupsen/logrus"
    _ "logger"
)

func main() {
    log.Print()
    log.Debug()
}

如果确实希望能够通过“logger”包直接调用那些日志功能,则需要定义这些功能并将其委托(delegate)给内部的“logrus”包。

09-27 19:15