From 83a3ac089cff0d05559e6ba5c2c60b09f5cae176 Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Tue, 3 Jul 2018 09:58:28 -0700 Subject: 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 --- plugin/api.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'plugin/api.go') 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{ -- cgit v1.2.3-1-g7c22