From 8509d92070710ed19ba625f97ba5d60daf02d01b Mon Sep 17 00:00:00 2001 From: Oliver Gugger Date: Thu, 12 Aug 2021 16:07:20 +0200 Subject: [PATCH] log+rpcperms: add custom RPCP logger to rpcperms package The custom RPC middleware logic that we are going to add in the next commits will need to log under their own sub logger so we add one with a new subsystem name. --- log.go | 2 ++ rpcperms/log.go | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 rpcperms/log.go 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 +}