Documentation ¶
Overview ¶
Package logimpl implements a component to handle logging internal to the agent.
Index ¶
- func Module() fxutil.Module
- func NewLogger(lc fx.Lifecycle, params Params, config config.LogConfig) (log.Component, error)
- func NewTemporaryLoggerWithoutInit() log.Component
- func NewTraceLogger(lc fx.Lifecycle, params Params, config config.LogConfig, ...) (log.Component, error)
- func TraceModule() fxutil.Module
- type Params
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewTemporaryLoggerWithoutInit ¶
NewTemporaryLoggerWithoutInit returns a logger component instance. It assumes the logger has already been initialized beforehand.
This function should be used when all these conditions are true: - You write or update code which uses a lot of logging. - You want the code to be components ready. - logger.Component cannot be injected.
It should not be used when: - You add few logging functions. - When the instance of logger.Component is reachable in less than 5 stack frames. - It doesn't make the migration to log.Component easier.
func NewTraceLogger ¶
func NewTraceLogger(lc fx.Lifecycle, params Params, config config.LogConfig, telemetryCollector telemetry.TelemetryCollector) (log.Component, error)
NewTraceLogger creates a pkglog.Component using the provided config.LogConfig
func TraceModule ¶
TraceModule defines the fx options for this component in its Trace variant.
TODO(components): move this comp/trace; that component shall implement the
log.Component interface.
Types ¶
type Params ¶
type Params struct {
// contains filtered or unexported fields
}
Params defines the parameters for this log component.
Logs-related parameters are implemented as unexported fields containing callbacks. These fields can be set with the `LogXxx()` methods, which return the updated LogParams. One of `logimpl.ForOneShot` or `logimpl.ForDaemon` must be called.
func ForDaemon ¶
ForDaemon sets up logging parameters for a daemon app.
The log level is set based on the `log_level` config parameter.
The log file is set based on the logFileConfig config parameter, or disabled if `disable_file_logging` is set.
On platforms which support it, syslog is enabled if `log_to_syslog` is set, using `syslog_uri` or defaulting to "unixgram:///dev/log" if that is empty. The `syslog_rfc` config parameter determines whether this produces 5424-compliant output.
Console logging is enabled if `log_to_console` is set. Lots are formatted as JSON if `log_format_json` is set.
func ForOneShot ¶
ForOneShot sets up logging parameters for a one-shot app.
If overrideFromEnv is set, then DD_LOG_LEVEL will override the given level.
Otherwise, file logging is disabled, syslog is disabled, console logging is enabled, and JSON formatting is disabled.
func (Params) LogLevelFn ¶
LogLevelFn returns the log level
func (*Params) LogToConsole ¶
LogToConsole modifies the parameters to toggle logging to console
func (*Params) LogToFile ¶
LogToFile modifies the parameters to set the destination log file, overriding any previous logfile parameter.
func (Params) LoggerName ¶
LoggerName is the name that appears in the logfile