| // Package stdlogging implements sklogimpl.Logger and logs to either stderr or stdout. | 
 | package stdlogging | 
 |  | 
 | import ( | 
 | 	logger "github.com/jcgregorio/logger" | 
 | 	"go.skia.org/infra/go/sklog/sklogimpl" | 
 | ) | 
 |  | 
 | type stdlog struct { | 
 | 	logger *logger.Logger | 
 | } | 
 |  | 
 | // New returns a sklogimpl.Logger that writes to a SyncWriter, such as | 
 | // os.Stdout or os.Stderr. | 
 | func New(dst logger.SyncWriter) sklogimpl.Logger { | 
 | 	l := logger.NewFromOptions(&logger.Options{ | 
 | 		SyncWriter:   dst, | 
 | 		DepthDelta:   3, | 
 | 		IncludeDebug: true, | 
 | 	}) | 
 | 	return &stdlog{ | 
 | 		logger: l, | 
 | 	} | 
 | } | 
 |  | 
 | // Log implements sklogimpl.Logger. | 
 | func (s stdlog) Log(_ int, severity sklogimpl.Severity, fmt string, args ...interface{}) { | 
 | 	switch severity { | 
 | 	case sklogimpl.Debug: | 
 | 		if fmt == "" { | 
 | 			s.logger.Debug(args...) | 
 | 		} else { | 
 | 			s.logger.Debugf(fmt, args...) | 
 | 		} | 
 | 	case sklogimpl.Info: | 
 | 		if fmt == "" { | 
 | 			s.logger.Info(args...) | 
 | 		} else { | 
 | 			s.logger.Infof(fmt, args...) | 
 | 		} | 
 | 	case sklogimpl.Warning: | 
 | 		if fmt == "" { | 
 | 			s.logger.Warning(args...) | 
 | 		} else { | 
 | 			s.logger.Warningf(fmt, args...) | 
 | 		} | 
 | 	case sklogimpl.Error: | 
 | 		if fmt == "" { | 
 | 			s.logger.Error(args...) | 
 | 		} else { | 
 | 			s.logger.Errorf(fmt, args...) | 
 | 		} | 
 | 	case sklogimpl.Fatal: | 
 | 		if fmt == "" { | 
 | 			s.logger.Fatal(args...) | 
 | 		} else { | 
 | 			s.logger.Fatalf(fmt, args...) | 
 | 		} | 
 | 	default: | 
 | 		s.logger.Errorf(fmt, args...) | 
 | 	} | 
 | } | 
 |  | 
 | // flush implements sklogimpl.Logger. | 
 | func (s stdlog) Flush() { | 
 | 	// noop | 
 | } |