Documentation ¶
Overview ¶
Package stack provides utilities to capture and pass around stack traces.
This is useful for building errors that know where they originated from, to track where a certain log event occured and so on.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func StripGOPATH ¶
StripGOPATH strips the GOPATH prefix from the file path f. In development, this will be done using the GOPATH environment variable. For production builds, where the GOPATH environment will not be set, the GOPATH can be included in the binary by passing ldflags, for example:
GO_LDFLAGS="$GO_LDFLAGS -X github.com/facebookgo/stack.gopath $GOPATH" go install "-ldflags=$GO_LDFLAGS" my/pkg
func StripPackage ¶
StripPackage strips the package name from the given Func.Name.
Types ¶
type Frame ¶
Frame identifies a file, line & function name in the stack.
type Multi ¶
type Multi struct {
// contains filtered or unexported fields
}
Multi represents a number of Stacks. This is useful to allow tracking a value as it travels thru code.
func CallersMulti ¶
CallersMulti returns a Multi which includes one Stack for the current callers. The argument skip is the number of stack frames to ascend, with 0 identifying the caller of CallersMulti.
func (*Multi) AddCallers ¶
AddCallers adds the Callers Stack to this Multi. The argument skip is the number of stack frames to ascend, with 0 identifying the caller of Callers.