func (l *Logger) Println(args ...interface{}) {
	l.logger().Println(args...)
}
Println calls Println function of underlying logger
package logging
import (
	"sync"
	"github.com/hyperledger/fabric-sdk-go/api/apilogging"
	"github.com/hyperledger/fabric-sdk-go/pkg/logging/modlog"
	"github.com/hyperledger/fabric-sdk-go/pkg/logging/utils"
)
type Logger struct {
	instance apilogging.Logger  
	module   string
	once     sync.Once
}
var loggerProviderInstance apilogging.LoggerProvider
var loggerProviderOnce sync.Once
const (
	loggerNotInitializedMsg = "Default logger initialized (please call logging.InitLogger if you wish to use a custom logger)"
	loggerModule            = "fabric_sdk_go"
)
func GetLogger(module string) (*Logger, error) {
	return &Logger{module: module}, nil
}
func NewLogger(module string) *Logger {
	logger, err := GetLogger(module)
	if err != nil {
		panic("logger: " + module + ": " + err.Error())
	}
	return logger
}
func loggerProvider() apilogging.LoggerProvider {
	loggerProviderOnce.Do(func() {
		loggerProviderInstance = modlog.LoggerProvider()
		logger := loggerProviderInstance.GetLogger(loggerModule)
		logger.Debug(loggerNotInitializedMsg)
	})
	return loggerProviderInstance
}
func InitLogger(l apilogging.LoggerProvider) {
	loggerProviderOnce.Do(func() {
		loggerProviderInstance = l
		logger := loggerProviderInstance.GetLogger(loggerModule)
		logger.Debug("Logger provider initialized")
	})
}
func SetLevel(module string, level apilogging.Level) {
	modlog.SetLevel(module, level)
}
func GetLevel(module string) apilogging.Level {
	return modlog.GetLevel(module)
}
func IsEnabledFor(module string, level apilogging.Level) bool {
	return modlog.IsEnabledFor(module, level)
}
func LogLevel(level string) (apilogging.Level, error) {
	return utils.LogLevel(level)
}
func (l *Logger) Fatal(args ...interface{}) {
	l.logger().Fatal(args...)
}
func (l *Logger) Fatalf(format string, args ...interface{}) {
	l.logger().Fatalf(format, args...)
}
func (l *Logger) Fatalln(args ...interface{}) {
	l.logger().Fatalln(args...)
}
func (l *Logger) Panic(args ...interface{}) {
	l.logger().Panic(args...)
}
func (l *Logger) Panicf(format string, args ...interface{}) {
	l.logger().Panicf(format, args...)
}
func (l *Logger) Panicln(args ...interface{}) {
	l.logger().Panicln(args...)
}
func (l *Logger) Print(args ...interface{}) {
	l.logger().Print(args...)
}
func (l *Logger) Printf(format string, args ...interface{}) {
	l.logger().Printf(format, args...)
}