summaryrefslogtreecommitdiffstats
path: root/plugin/api.go
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2018-07-03 09:58:28 -0700
committerGitHub <noreply@github.com>2018-07-03 09:58:28 -0700
commit83a3ac089cff0d05559e6ba5c2c60b09f5cae176 (patch)
tree51cc53c0a77cf455cf9d700a453b6d57f1604fdb /plugin/api.go
parent3848cb7e79e019e2f0878d6e2377ad36b3c7ca43 (diff)
downloadchat-83a3ac089cff0d05559e6ba5c2c60b09f5cae176.tar.gz
chat-83a3ac089cff0d05559e6ba5c2c60b09f5cae176.tar.bz2
chat-83a3ac089cff0d05559e6ba5c2c60b09f5cae176.zip
MM-11029 Adding plugin logging functionality. (#9034)
* Capturing stdout, stderr of plugins in logs. * Cleanup go-plugin debug logs. * Adding logging to plugin API * Generating mocks. * godoc convention
Diffstat (limited to 'plugin/api.go')
-rw-r--r--plugin/api.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/plugin/api.go b/plugin/api.go
index 842cef4f6..81a27c330 100644
--- a/plugin/api.go
+++ b/plugin/api.go
@@ -119,6 +119,30 @@ type API interface {
// payload is the data sent with the event. Interface values must be primitive Go types or mattermost-server/model types
// broadcast determines to which users to send the event
PublishWebSocketEvent(event string, payload map[string]interface{}, broadcast *model.WebsocketBroadcast)
+
+ // LogDebug writes a log message to the Mattermost server log file.
+ // Appropriate context such as the plugin name will already be added as fields so plugins
+ // do not need to add that info.
+ // keyValuePairs should be primitive go types or other values that can be encoded by encoding/gob
+ LogDebug(msg string, keyValuePairs ...interface{})
+
+ // LogInfo writes a log message to the Mattermost server log file.
+ // Appropriate context such as the plugin name will already be added as fields so plugins
+ // do not need to add that info.
+ // keyValuePairs should be primitive go types or other values that can be encoded by encoding/gob
+ LogInfo(msg string, keyValuePairs ...interface{})
+
+ // LogError writes a log message to the Mattermost server log file.
+ // Appropriate context such as the plugin name will already be added as fields so plugins
+ // do not need to add that info.
+ // keyValuePairs should be primitive go types or other values that can be encoded by encoding/gob
+ LogError(msg string, keyValuePairs ...interface{})
+
+ // LogWarn writes a log message to the Mattermost server log file.
+ // Appropriate context such as the plugin name will already be added as fields so plugins
+ // do not need to add that info.
+ // keyValuePairs should be primitive go types or other values that can be encoded by encoding/gob
+ LogWarn(msg string, keyValuePairs ...interface{})
}
var Handshake = plugin.HandshakeConfig{