forked from mirror/logrus
29 lines
1.5 KiB
Markdown
29 lines
1.5 KiB
Markdown
# Papertrail Hook for Logrus <img src="http://i.imgur.com/hTeVwmJ.png" width="40" height="40" alt=":walrus:" class="emoji" title=":walrus:" />
|
|
|
|
[Papertrail](https://papertrailapp.com) provides hosted log management. Once stored in Papertrail, you can [group](http://help.papertrailapp.com/kb/how-it-works/groups/) your logs on various dimensions, [search](http://help.papertrailapp.com/kb/how-it-works/search-syntax) them, and trigger [alerts](http://help.papertrailapp.com/kb/how-it-works/alerts).
|
|
|
|
In most deployments, you'll want to send logs to Papertrail via their [remote_syslog](http://help.papertrailapp.com/kb/configuration/configuring-centralized-logging-from-text-log-files-in-unix/) daemon, which requires no application-specific configuration. This hook is intended for relatively low-volume logging, likely in managed cloud hosting deployments where installing `remote_syslog` is not possible.
|
|
|
|
## Usage
|
|
|
|
You can find your Papertrail UDP port on your [Papertrail account page](https://papertrailapp.com/account/destinations). Substitute it below for `YOUR_PAPERTRAIL_UDP_PORT`.
|
|
|
|
For `YOUR_APP_NAME`, substitute a short string that will readily identify your application or service in the logs.
|
|
|
|
```go
|
|
import (
|
|
"log/syslog"
|
|
"github.com/Sirupsen/logrus"
|
|
"github.com/Sirupsen/logrus/hooks/papertrail"
|
|
)
|
|
|
|
func main() {
|
|
log := logrus.New()
|
|
hook, err := logrus_papertrail.NewPapertrailHook("logs.papertrailapp.com", YOUR_PAPERTRAIL_UDP_PORT, YOUR_APP_NAME)
|
|
|
|
if err == nil {
|
|
log.Hooks.Add(hook)
|
|
}
|
|
}
|
|
```
|