现在,我决定在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”包。