diff --git a/common/logging.go b/common/logging.go index d42ad44a..64890f29 100644 --- a/common/logging.go +++ b/common/logging.go @@ -3,6 +3,7 @@ package common import ( "bytes" "fmt" + "log" "strings" "github.com/Sirupsen/logrus" @@ -64,3 +65,23 @@ func CheckWarn(e error) { Log.Warnln(e) } } + +// Adaptor type to go from Logrus to something expecting a standard library log.Logger +type logLogger struct { + logger *logrus.Logger +} + +// io.Writer interface +func (l logLogger) Write(p []byte) (n int, err error) { + ln := len(p) + // Strip a trailing newline, because logrus formatter adds one + if ln > 0 && p[ln-1] == '\n' { + p = p[:ln-1] + } + l.logger.Info(string(p)) + return ln, nil +} + +func LogLogger() *log.Logger { + return log.New(logLogger{Log}, "", 0) +} diff --git a/router/network_router.go b/router/network_router.go index 4832ef46..5bfbb867 100644 --- a/router/network_router.go +++ b/router/network_router.go @@ -57,7 +57,7 @@ func NewNetworkRouter(config mesh.Config, networkConfig NetworkConfig, name mesh networkConfig.Bridge = NullBridge{} } - router := &NetworkRouter{Router: mesh.NewRouter(config, name, nickName, overlay), NetworkConfig: networkConfig, db: db} + router := &NetworkRouter{Router: mesh.NewRouter(config, name, nickName, overlay, common.LogLogger()), NetworkConfig: networkConfig, db: db} router.Peers.OnInvalidateShortIDs(overlay.InvalidateShortIDs) router.Routes.OnChange(overlay.InvalidateRoutes) router.Macs = NewMacCache(macMaxAge, diff --git a/vendor/github.com/weaveworks/mesh b/vendor/github.com/weaveworks/mesh index f51319a3..8faeca0b 160000 --- a/vendor/github.com/weaveworks/mesh +++ b/vendor/github.com/weaveworks/mesh @@ -1 +1 @@ -Subproject commit f51319a38f36573c377a6640d6e835adbd9d3fc9 +Subproject commit 8faeca0b7ae1afb333493bbca239d6b0d19eab07