Olaoluwa Osuntokun
5 years ago
1 changed files with 45 additions and 0 deletions
@ -0,0 +1,45 @@
|
||||
package chanbackup |
||||
|
||||
import ( |
||||
"github.com/btcsuite/btclog" |
||||
"github.com/lightningnetwork/lnd/build" |
||||
) |
||||
|
||||
// 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() { |
||||
UseLogger(build.NewSubLogger("CHBU", nil)) |
||||
} |
||||
|
||||
// DisableLog disables all library log output. Logging output is disabled
|
||||
// by default until UseLogger is called.
|
||||
func DisableLog() { |
||||
UseLogger(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 |
||||
|
||||
// String invokes the underlying function and returns the result.
|
||||
func (c logClosure) String() string { |
||||
return c() |
||||
} |
||||
|
||||
// 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) |
||||
} |
Loading…
Reference in new issue