diff options
author | Christopher Speller <crspeller@gmail.com> | 2018-06-25 12:33:13 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-25 12:33:13 -0700 |
commit | 1e5c432e1029601a664454388ae366ef69618d62 (patch) | |
tree | cb9e8bfb66640ac3b29c934bb2c3202d25aeb368 /plugin/hclog_adapter.go | |
parent | ecefa6cdd1e7376046bbec82c1b47f7756fea646 (diff) | |
download | chat-1e5c432e1029601a664454388ae366ef69618d62.tar.gz chat-1e5c432e1029601a664454388ae366ef69618d62.tar.bz2 chat-1e5c432e1029601a664454388ae366ef69618d62.zip |
MM-10702 Moving plugins to use hashicorp go-plugin. (#8978)
* Moving plugins to use hashicorp go-plugin.
* Tweaks from feedback.
Diffstat (limited to 'plugin/hclog_adapter.go')
-rw-r--r-- | plugin/hclog_adapter.go | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/plugin/hclog_adapter.go b/plugin/hclog_adapter.go new file mode 100644 index 000000000..c8e39877e --- /dev/null +++ b/plugin/hclog_adapter.go @@ -0,0 +1,73 @@ +// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. +// See LICENSE.txt for license information. + +package plugin + +import ( + "fmt" + "log" + + "github.com/hashicorp/go-hclog" + "github.com/mattermost/mattermost-server/mlog" +) + +type HclogAdapter struct { + wrappedLogger *mlog.Logger + extrasKey string +} + +func (h *HclogAdapter) Trace(msg string, args ...interface{}) { + h.wrappedLogger.Debug(msg, mlog.String(h.extrasKey, fmt.Sprintln(args...))) +} + +func (h *HclogAdapter) Debug(msg string, args ...interface{}) { + h.wrappedLogger.Debug(msg, mlog.String(h.extrasKey, fmt.Sprintln(args...))) +} + +func (h *HclogAdapter) Info(msg string, args ...interface{}) { + h.wrappedLogger.Info(msg, mlog.String(h.extrasKey, fmt.Sprintln(args...))) +} + +func (h *HclogAdapter) Warn(msg string, args ...interface{}) { + h.wrappedLogger.Warn(msg, mlog.String(h.extrasKey, fmt.Sprintln(args...))) +} + +func (h *HclogAdapter) Error(msg string, args ...interface{}) { + h.wrappedLogger.Error(msg, mlog.String(h.extrasKey, fmt.Sprintln(args...))) +} + +func (h *HclogAdapter) IsTrace() bool { + return false +} + +func (h *HclogAdapter) IsDebug() bool { + return true +} + +func (h *HclogAdapter) IsInfo() bool { + return true +} + +func (h *HclogAdapter) IsWarn() bool { + return true +} + +func (h *HclogAdapter) IsError() bool { + return true +} + +func (h *HclogAdapter) With(args ...interface{}) hclog.Logger { + return h +} + +func (h *HclogAdapter) Named(name string) hclog.Logger { + return h +} + +func (h *HclogAdapter) ResetNamed(name string) hclog.Logger { + return h +} + +func (h *HclogAdapter) StandardLogger(opts *hclog.StandardLoggerOptions) *log.Logger { + return h.wrappedLogger.StdLog() +} |