From 00fe47ba62499cfea535eaaf29ddd2d5f1b3a440 Mon Sep 17 00:00:00 2001 From: Bryan Boreham Date: Mon, 4 Apr 2016 15:29:36 +0100 Subject: [PATCH 1/2] Update weaveworks/mesh to send gossip to restarted peer --- vendor/github.com/weaveworks/mesh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From c38dcb1d73349eaf5336d6541552e1edb15ff7db Mon Sep 17 00:00:00 2001 From: Bryan Boreham Date: Mon, 4 Apr 2016 16:01:58 +0100 Subject: [PATCH 2/2] Adapt to logging changes in weaveworks/mesh --- common/logging.go | 21 +++++++++++++++++++++ router/network_router.go | 2 +- 2 files changed, 22 insertions(+), 1 deletion(-) 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,