Documentation ¶
Overview ¶
Package logknob provides a helpful wrapper that allows enabling logging based on either an envknob or other methods of enablement.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LogKnob ¶
type LogKnob struct {
// contains filtered or unexported fields
}
LogKnob allows configuring verbose logging, with multiple ways to enable. It supports enabling logging via envknob, via atomic boolean (for use in e.g. c2n log level changes), and via capabilities from a NetMap (so users can enable logging via the ACL JSON).
func NewLogKnob ¶
func NewLogKnob(env string, cap tailcfg.NodeCapability) *LogKnob
NewLogKnob creates a new LogKnob, with the provided environment variable name and/or NetMap capability.
func (*LogKnob) Do ¶
Do will call log with the provided format and arguments if any of the configured methods for enabling logging are true.
func (*LogKnob) Set ¶
Set will cause logs to be printed when called with Set(true). When called with Set(false), logs will not be printed due to an earlier call of Set(true), but may be printed due to either the envknob and/or capability of this LogKnob.
func (*LogKnob) UpdateFromNetMap ¶
UpdateFromNetMap will enable logging if the SelfNode in the provided NetMap contains the capability provided for this LogKnob.