log

package
v1.2.5-prerelease1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 3, 2023 License: MIT Imports: 4 Imported by: 35

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CapturePanic

func CapturePanic(errPanic interface{}, logger Logger, retError *error)

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
	SampleInfo(msg string, sampleRate int, tags ...tag.Tag)
}

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.

func NewNoop

func NewNoop() Logger

NewNoop return a noop logger

type MockLogger

type MockLogger struct {
	mock.Mock
}

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

func (*MockLogger) SampleInfo added in v1.0.0

func (_m *MockLogger) SampleInfo(msg string, sampleRate int, tags ...tag.Tag)

SampleInfo provides a mock function with given fields: msg, sampleRate, tags

func (*MockLogger) Warn

func (_m *MockLogger) Warn(msg string, tags ...tag.Tag)

Warn provides a mock function with given fields: msg, tags

func (*MockLogger) WithTags

func (_m *MockLogger) WithTags(tags ...tag.Tag) Logger

WithTags provides a mock function with given fields: tags

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL