# Functions
ErrorAttr returns an error log attribute.
FileAttr returns a file/path log attribute.
GetLogger returns the logger for the given object if it implements the Log interface or a Null logger.
GetTraceLogger gets the current value of trace logger.
HasLogger returns true if the object implements the Log interface and has a logger set.
HostAttr returns a host log attribute.
InjectLogger sets the logger for the given object if it implements the injectable interface.
SetTraceLogger sets a trace logger.
Trace is for rig's internal trace logging that must be separately enabled by providing a [TraceLogger] logger, which is implemented by slog.Logger.
WithAttrs returns a logger that prepends the given attributes to all log messages.
# Constants
KeyBytes is the number of bytes.
KeyCommand is a command-line.
KeyComponent is a component name.
KeyDuration is the duration of an operation.
KeyError is an error.
KeyExitCode is the exit code of a command.
KeyFile is a file name.
KeyHost is the host name or address.
KeyProtocol is a network protocol.
KeySudo is a boolean indicating whether a command is run with sudo.
# Structs
LoggerInjectable is a struct that can be embedded in other structs to provide a logger and a log setter.
# Interfaces
Log interface is implemented by the LoggerInjectable struct.
Logger interface is implemented by slog.Logger and some other logging packages and can be easily used via a wrapper with any other logging system.
TraceLogger is a logger for rig's internal trace logging.