| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package logger
- import (
- "io"
- "log"
- "github.com/hashicorp/go-hclog"
- "github.com/rs/zerolog"
- )
- type HCLogAdapter struct {
- hclog.Logger
- }
- func (l *HCLogAdapter) Log(level hclog.Level, msg string, args ...interface{}) {
- var ev *zerolog.Event
- switch level {
- case hclog.Info:
- ev = logger.Info()
- case hclog.Warn:
- ev = logger.Warn()
- case hclog.Error:
- ev = logger.Error()
- default:
- ev = logger.Debug()
- }
- ev.Timestamp().Str("sender", l.Name())
- addKeysAndValues(ev, args...)
- ev.Msg(msg)
- }
- func (l *HCLogAdapter) Trace(msg string, args ...interface{}) {
- l.Log(hclog.Debug, msg, args...)
- }
- func (l *HCLogAdapter) Debug(msg string, args ...interface{}) {
- l.Log(hclog.Debug, msg, args...)
- }
- func (l *HCLogAdapter) Info(msg string, args ...interface{}) {
- l.Log(hclog.Info, msg, args...)
- }
- func (l *HCLogAdapter) Warn(msg string, args ...interface{}) {
- l.Log(hclog.Warn, msg, args...)
- }
- func (l *HCLogAdapter) Error(msg string, args ...interface{}) {
- l.Log(hclog.Error, msg, args...)
- }
- func (l *HCLogAdapter) With(args ...interface{}) hclog.Logger {
- return &HCLogAdapter{Logger: l.Logger.With(args...)}
- }
- func (l *HCLogAdapter) Named(name string) hclog.Logger {
- return &HCLogAdapter{Logger: l.Logger.Named(name)}
- }
- func (l *HCLogAdapter) StandardLogger(opts *hclog.StandardLoggerOptions) *log.Logger {
- return log.New(&StdLoggerWrapper{Sender: l.Name()}, "", 0)
- }
- func (l *HCLogAdapter) StandardWriter(opts *hclog.StandardLoggerOptions) io.Writer {
- return &StdLoggerWrapper{Sender: l.Name()}
- }
|