diff --git a/log.go b/log.go index feb961d22..4a6c85861 100644 --- a/log.go +++ b/log.go @@ -37,6 +37,7 @@ import ( "github.com/lightningnetwork/lnd/peernotifier" "github.com/lightningnetwork/lnd/routing" "github.com/lightningnetwork/lnd/routing/localchans" + "github.com/lightningnetwork/lnd/rpcperms" "github.com/lightningnetwork/lnd/signal" "github.com/lightningnetwork/lnd/sweep" "github.com/lightningnetwork/lnd/watchtower" @@ -159,6 +160,7 @@ func SetupLoggers(root *build.RotatingLogWriter, interceptor signal.Interceptor) AddSubLogger(root, chanacceptor.Subsystem, interceptor, chanacceptor.UseLogger) AddSubLogger(root, funding.Subsystem, interceptor, funding.UseLogger) AddSubLogger(root, cluster.Subsystem, interceptor, cluster.UseLogger) + AddSubLogger(root, rpcperms.Subsystem, interceptor, rpcperms.UseLogger) } // AddSubLogger is a helper method to conveniently create and register the diff --git a/rpcperms/log.go b/rpcperms/log.go new file mode 100644 index 000000000..209aacce5 --- /dev/null +++ b/rpcperms/log.go @@ -0,0 +1,32 @@ +package rpcperms + +import ( + "github.com/btcsuite/btclog" + "github.com/lightningnetwork/lnd/build" +) + +// Subsystem defines the logging code for this subsystem. +const Subsystem = "RPCP" + +// 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(Subsystem, 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 +}