Documentation
¶
Index ¶
- Constants
- Variables
- func Configure(c Configuration)
- func Flush()
- func Handler(h http.Handler) http.Handler
- func Monitor()
- func Notify(err interface{}, extra ...interface{}) (string, error)
- func SetContext(c Context)
- type Backend
- type CGIData
- type Client
- func (client *Client) Configure(config Configuration)
- func (client *Client) Flush()
- func (client *Client) Handler(h http.Handler) http.Handler
- func (client *Client) Monitor()
- func (client *Client) Notify(err interface{}, extra ...interface{}) (string, error)
- func (client *Client) SetContext(context Context)
- type Configuration
- type Context
- type Error
- type Feature
- type Frame
- type Logger
- type Notice
- type Params
- type Payload
Constants ¶
const VERSION = "0.0.1"
VERSION defines the version of the honeybadger package.
Variables ¶
var ( // Config is a pointer to the global client's Config. Config = client.Config // Notices is the feature for sending error reports. Notices = Feature{"notices"} )
var ( ErrRateExceeded = errors.New("Rate exceeded: slow down!") ErrPaymentRequired = errors.New("Payment required: expired trial or credit card?") )
Errors returned by the backend when unable to successfully handle payload.
Functions ¶
func Configure ¶
func Configure(c Configuration)
Configure updates configuration of the global client.
func Flush ¶
func Flush()
Flush blocks until all data (normally sent in the background) has been sent to the Honeybadger service.
func Handler ¶
Handler returns an http.Handler function which automatically reports panics to Honeybadger and then re-panics.
func Monitor ¶
func Monitor()
Monitor is used to automatically notify Honeybadger service of panics which happen inside the current function. In order to monitor for panics, defer a call to Monitor. For example:
func main {
defer honeybadger.Monitor()
// Do risky stuff...
}
The Monitor function re-panics after the notification has been sent, so it's still up to the user to recover from panics if desired.
func Notify ¶
Notify reports the error err to the Honeybadger service.
The first argument err may be an error, a string, or any other type in which case its formatted value will be used.
It returns a string UUID which can be used to reference the error from the Honeybadger service, and an error as a second argument.
func SetContext ¶
func SetContext(c Context)
SetContext merges c Context into the Context of the global client.
Types ¶
type Backend ¶
The Backend interface is implemented by the server type by default, but a custom implementation may be configured by the user.
type CGIData ¶
type CGIData hash
CGIData stores variables from the server/request environment indexed by key. Header keys should be converted to upercase, all non-alphanumeric characters replaced with underscores, and prefixed with HTTP_. For example, the header "Content-Type" would become "HTTP_CONTENT_TYPE".
type Client ¶
type Client struct {
Config *Configuration
// contains filtered or unexported fields
}
Client is the manager for interacting with the Honeybadger service. It holds the configuration and implements the public API.
func (*Client) Configure ¶
func (client *Client) Configure(config Configuration)
Configure updates the client configuration with the supplied config.
func (*Client) Flush ¶
func (client *Client) Flush()
Flush blocks until the worker has processed its queue.
func (*Client) Handler ¶
Handler returns an http.Handler function which automatically reports panics to Honeybadger and then re-panics.
func (*Client) Monitor ¶
func (client *Client) Monitor()
Monitor automatically reports panics which occur in the function it's called from. Must be deferred.
func (*Client) SetContext ¶
SetContext updates the client context with supplied context.
type Configuration ¶
type Configuration struct {
APIKey string
Root string
Env string
Hostname string
Endpoint string
Timeout time.Duration
Logger Logger
Backend Backend
}
Configuration manages the configuration for the client.
type Error ¶
type Error struct {
Message string
Class string
Stack []*Frame
// contains filtered or unexported fields
}
Error provides more structured information about a Go error.
type Feature ¶
type Feature struct {
Endpoint string
}
Feature references a resource provided by the API service. Its Endpoint maps to the collection endpoint of the /v1 API.
type Frame ¶
type Frame struct {
Number string `json:"number"`
File string `json:"file"`
Method string `json:"method"`
}
Frame represent a stack frame inside of a Honeybadger backtrace.
type Logger ¶
type Logger interface {
Printf(format string, v ...interface{})
}
The Logger interface is implemented by the standard log package and requires a limited subset of the interface implemented by log.Logger.
type Notice ¶
type Notice struct {
APIKey string
Error Error
Token string
ErrorMessage string
ErrorClass string
Hostname string
Env string
Backtrace []*Frame
ProjectRoot string
Context Context
Params Params
CGIData CGIData
URL string
}
Notice is a representation of the error which is sent to Honeybadger, and implements the Payload interface.