-
Notifications
You must be signed in to change notification settings - Fork 5
Hooks
Michael Kenney edited this page Aug 13, 2018
·
3 revisions
You can add hooks for logging levels. For example to send errors to an exception tracking service on Error
, Fatal
and Panic
, info to StatsD or log to multiple places simultaneously, e.g. syslog.
bdlm/log
comes with built-in hooks. Add those, or your custom hook, in init
:
import (
log "github.com/bdlm/log"
log_syslog "github.com/bdlm/log/hooks/syslog"
"log/syslog"
)
func init() {
// Use the Airbrake hook to report errors that have Error severity or above to
// an exception tracker. You can create custom hooks, see the Hooks section.
log.AddHook(airbrake.NewHook(123, "xyz", "production"))
hook, err := log_syslog.NewSyslogHook("udp", "localhost:514", syslog.LOG_INFO, "")
if err != nil {
log.Error("Unable to connect to local syslog daemon")
} else {
log.AddHook(hook)
}
}
Note: Syslog hook also supports connecting to local system logger (Ex. /dev/log
or /var/run/syslog
or /var/run/log
). For details please see the syslog hook README.
Which one will reach the other side of the river: The one who dreams of a raft, or the one that hitchhikes to the next bridge?