Documentation ¶
Index ¶
- func CapturePanic(errPanic interface{}, logger Logger, retError **errors.ErrorAndStatus)
- type Logger
- type MockLogger
- func (_m *MockLogger) Debug(msg string, tags ...tag.Tag)
- func (_m *MockLogger) Error(msg string, tags ...tag.Tag)
- func (_m *MockLogger) Fatal(msg string, tags ...tag.Tag)
- func (_m *MockLogger) Info(msg string, tags ...tag.Tag)
- func (_m *MockLogger) Warn(msg string, tags ...tag.Tag)
- func (_m *MockLogger) WithTags(tags ...tag.Tag) Logger
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CapturePanic ¶
func CapturePanic(errPanic interface{}, logger Logger, retError **errors.ErrorAndStatus)
CapturePanic is used to capture panic, it will log the panic and also return the error through pointer. If the panic value is not error then a default error is returned We have to use pointer is because in golang: "recover return nil if was not called directly by a deferred function." And we have to set the returned error otherwise our handler will return nil as error which is incorrect errPanic MUST be the result from calling recover, which MUST be done in a single level deep deferred function. The usual way of calling this is: - defer func() { log.CapturePanic(recover(), logger, &err) }()
Types ¶
type Logger ¶
type Logger interface { Debug(msg string, tags ...tag.Tag) Info(msg string, tags ...tag.Tag) Warn(msg string, tags ...tag.Tag) Error(msg string, tags ...tag.Tag) Fatal(msg string, tags ...tag.Tag) WithTags(tags ...tag.Tag) Logger }
Logger is our abstraction for logging Usage examples:
import "github.com/uber/cadence/common/log/tag" 1) logger = logger.WithTags( tag.WorkflowNextEventID( 123), tag.WorkflowActionWorkflowStarted, tag.WorkflowDomainID("test-domain-id")) logger.Info("hello world") 2) logger.Info("hello world", tag.WorkflowNextEventID( 123), tag.WorkflowActionWorkflowStarted, tag.WorkflowDomainID("test-domain-id")) ) Note: msg should be static, it is not recommended to use fmt.Sprintf() for msg. Anything dynamic should be tagged.
type MockLogger ¶
MockLogger returns a mock for Logger interface
func (*MockLogger) Debug ¶
func (_m *MockLogger) Debug(msg string, tags ...tag.Tag)
Debug provides a mock function with given fields: msg, tags
func (*MockLogger) Error ¶
func (_m *MockLogger) Error(msg string, tags ...tag.Tag)
Error provides a mock function with given fields: msg, tags
func (*MockLogger) Fatal ¶
func (_m *MockLogger) Fatal(msg string, tags ...tag.Tag)
Fatal provides a mock function with given fields: msg, tags
func (*MockLogger) Info ¶
func (_m *MockLogger) Info(msg string, tags ...tag.Tag)
Info provides a mock function with given fields: msg, tags