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
- type Params
- func (params Params) IsLogLevelFnSet() bool
- func (params Params) LogFileFn(c configGetter) string
- func (params Params) LogFormatJSONFn(c configGetter) bool
- func (params Params) LogLevelFn(c configGetter) string
- func (params Params) LogSyslogRFCFn(c configGetter) bool
- func (params Params) LogSyslogURIFn(c configGetter) string
- func (params *Params) LogToConsole(logToConsole bool)
- func (params Params) LogToConsoleFn(c configGetter) bool
- func (params *Params) LogToFile(logFile string)
- func (params Params) LoggerName() string
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.
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) IsLogLevelFnSet ¶ added in v0.53.0
IsLogLevelFnSet returns whether the logLevelFn field is set
func (Params) LogFormatJSONFn ¶ added in v0.53.0
LogFormatJSONFn returns a boolean determining whether logs should be written in JSON format
func (Params) LogLevelFn ¶
LogLevelFn returns the log level
func (Params) LogSyslogRFCFn ¶ added in v0.53.0
LogSyslogRFCFn returns a boolean determining whether to use syslog RFC 5424
func (Params) LogSyslogURIFn ¶ added in v0.53.0
LogSyslogURIFn returns the syslog URI
func (*Params) LogToConsole ¶
LogToConsole modifies the parameters to toggle logging to console
func (Params) LogToConsoleFn ¶ added in v0.53.0
LogToConsoleFn returns a boolean determining whether to write logs to the 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