From 7d6ed06d5c8f48d51e8e71dd6021bf75421b16aa Mon Sep 17 00:00:00 2001 From: Joost Jager Date: Mon, 20 May 2019 12:22:31 +0200 Subject: [PATCH] loopdb: enable logging Previous code in log.go assumed there would by sub system level enable/disable for loop. This is not yet in place, so converting to same style as used in the lndclient package. --- loopdb/log.go | 47 ++++++++++++----------------------------------- 1 file changed, 12 insertions(+), 35 deletions(-) diff --git a/loopdb/log.go b/loopdb/log.go index 73cc81d..4497196 100644 --- a/loopdb/log.go +++ b/loopdb/log.go @@ -1,44 +1,21 @@ package loopdb import ( + "os" + "github.com/btcsuite/btclog" ) -// log is a logger that is initialized with no output filters. This means -// the package will not perform any logging by default until the caller -// requests it. -var log btclog.Logger - -// The default amount of logging is none. -func init() { - DisableLog() -} - -// DisableLog disables all library log output. Logging output is disabled -// by default until either UseLogger or SetLogWriter are called. -func DisableLog() { - log = btclog.Disabled -} - -// UseLogger uses a specified Logger to output package logging info. -// This should be used in preference to SetLogWriter if the caller is also -// using btclog. -func UseLogger(logger btclog.Logger) { - log = logger -} - -// logClosure is used to provide a closure over expensive logging operations so -// don't have to be performed when the logging level doesn't warrant it. -type logClosure func() string +var ( + backendLog = btclog.NewBackend(logWriter{}) + log = backendLog.Logger("STORE") +) -// String invokes the underlying function and returns the result. -func (c logClosure) String() string { - return c() -} +// logWriter implements an io.Writer that outputs to both standard output and +// the write-end pipe of an initialized log rotator. +type logWriter struct{} -// newLogClosure returns a new closure over a function that returns a string -// which itself provides a Stringer interface so that it can be used with the -// logging system. -func newLogClosure(c func() string) logClosure { - return logClosure(c) +func (logWriter) Write(p []byte) (n int, err error) { + os.Stdout.Write(p) + return len(p), nil }