func Install(logger golog.ExternalLogger) {
	golog.Install(logger)
}
Install receives  an external logger
and automatically adapts its print functions.

Install adds a golog handler to support third-party integrations,
it can be used only once per `golog#Logger` instance.

For example, if you want to print using a logrus
logger you can do the following:
`golog.Install(logrus.StandardLogger())`

Look `golog#Handle` for more.
package log
import (
	"fmt"
	"github.com/kataras/golog"
	"github.com/kataras/pio"
	"io"
	"runtime"
)
const (
	DebugLevel = "debug"
	InfoLevel  = "info"
	WarnLevel  = "warn"
	ErrorLevel = "error"
	FatalLevel = "fatal"
	Disable    = "disable"
)
func callerInfo(skip int) (file string, line int, fn string) {
	var pc uintptr
	var ok bool
	if pc, file, line, ok = runtime.Caller(skip); ok {
		fn = runtime.FuncForPC(pc).Name()
	}
	return
}
var withCaller = func(fn func(v ...interface{}), v ...interface{}) {
	argv := make([]interface{}, 1)
	_, line, fnName := callerInfo(3)
	argv[0] = fmt.Sprintf("[%v:%v] ", fnName, line)
	argv = append(argv, v...)
	fn(argv...)
}
var withCallerf = func(fn func(format string, v ...interface{}), format string, v ...interface{}) {
	_, line, fnName := callerInfo(3)
	f := fmt.Sprintf("[%v:%v] %v", fnName, line, format)
	fn(f, v...)
}
func NewLine(newLineChar string) {
	golog.NewLine(newLineChar)
}
func Reset() {
	golog.Reset()
}
func SetOutput(w io.Writer) {
	golog.SetOutput(w)
}
func AddOutput(writers ...io.Writer) {
	golog.AddOutput(writers...)
}
func SetPrefix(s string) *golog.Logger {
	return golog.SetPrefix(s)
}
func SetTimeFormat(s string) {
	golog.SetTimeFormat(s)
}
func SetLevel(levelName string) {
	golog.SetLevel(levelName)
}
func Print(v ...interface{}) {
	golog.Print(v...)
}
func Println(v ...interface{}) {
	golog.Println(v...)
}
func Logf(level golog.Level, format string, args ...interface{}) {
	golog.Logf(level, format, args...)
}
func Fatal(v ...interface{}) {
	withCaller(golog.Fatal, v...)
}
func Fatalf(format string, args ...interface{}) {
	withCallerf(golog.Fatalf, format, args...)
}
func Error(v ...interface{}) {
	withCaller(golog.Error, v...)
}
func Errorf(format string, args ...interface{}) {
	withCallerf(golog.Errorf, format, args...)
}
func Warn(v ...interface{}) {
	golog.Warn(v...)
}
func Warnf(format string, args ...interface{}) {
	golog.Warnf(format, args...)
}
func Info(v ...interface{}) {
	golog.Info(v...)
}
func Infof(format string, args ...interface{}) {
	golog.Infof(format, args...)
}
func Debug(v ...interface{}) {
	withCaller(golog.Debug, v...)
}
func Debugf(format string, args ...interface{}) {
	withCallerf(golog.Debugf, format, args...)
}