1 [![GoDoc](https://godoc.org/github.com/go-stack/stack?status.svg)](https://godoc.org/github.com/go-stack/stack)
2 [![Go Report Card](https://goreportcard.com/badge/go-stack/stack)](https://goreportcard.com/report/go-stack/stack)
3 [![TravisCI](https://travis-ci.org/go-stack/stack.svg?branch=master)](https://travis-ci.org/go-stack/stack)
4 [![Coverage Status](https://coveralls.io/repos/github/go-stack/stack/badge.svg?branch=master)](https://coveralls.io/github/go-stack/stack?branch=master)
8 Package stack implements utilities to capture, manipulate, and format call
9 stacks. It provides a simpler API than package runtime.
11 The implementation takes care of the minutia and special cases of interpreting
12 the program counter (pc) values returned by runtime.Callers.
16 Package stack publishes releases via [semver](http://semver.org/) compatible Git
17 tags prefixed with a single 'v'. The master branch always contains the latest
18 release. The develop branch contains unreleased commits.
22 Package stack's types implement fmt.Formatter, which provides a simple and
23 flexible way to declaratively configure formatting when used with logging or
24 error tracking packages.
29 log.Print(c) // "source.go:10"
30 log.Printf("%+v", c) // "pkg/path/source.go:10"
31 log.Printf("%n", c) // "DoTheThing"
33 s := stack.Trace().TrimRuntime()
34 log.Print(s) // "[source.go:15 caller.go:42 main.go:14]"
38 See the docs for all of the supported formatting options.