lnd: create logger for fundingManger add closures

This commit is contained in:
Olaoluwa Osuntokun 2016-06-21 11:32:07 -07:00
parent 31e5466692
commit 9c0566cb42
No known key found for this signature in database
GPG Key ID: 9CC5B105D03521A2
1 changed files with 23 additions and 2 deletions

21
log.go
View File

@ -20,6 +20,7 @@ var (
ltndLog = btclog.Disabled
lnwlLog = btclog.Disabled
peerLog = btclog.Disabled
fndgLog = btclog.Disabled
rpcsLog = btclog.Disabled
srvrLog = btclog.Disabled
ntfnLog = btclog.Disabled
@ -35,6 +36,7 @@ var subsystemLoggers = map[string]btclog.Logger{
"SRVR": srvrLog,
"NTFN": ntfnLog,
"CHDB": chdbLog,
"FNDG": fndgLog,
}
// useLogger updates the logger references for subsystemID to logger. Invalid
@ -69,6 +71,9 @@ func useLogger(subsystemID string, logger btclog.Logger) {
case "CHDB":
chdbLog = logger
channeldb.UseLogger(logger)
case "FNDG":
fndgLog = logger
}
}
@ -131,3 +136,19 @@ func setLogLevels(logLevel string) {
setLogLevel(subsystemID, logLevel)
}
}
// 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)
}