Documentation
¶
Index ¶
- Constants
- Variables
- func ConfigureLogrusForAtmos()
- func Debug(msg interface{}, keyvals ...interface{})
- func Debugf(format string, args ...interface{})
- func DefaultStyles() *charm.Styles
- func Error(msg interface{}, keyvals ...interface{})
- func Errorf(format string, args ...interface{})
- func Fatal(msg interface{}, keyvals ...interface{})
- func Fatalf(format string, args ...interface{})
- func GetLevel() charm.Level
- func GetLevelString() string
- func GetPrefix() string
- func Helper()
- func Info(msg interface{}, keyvals ...interface{})
- func Infof(format string, args ...interface{})
- func LevelToString(level charm.Level) string
- func Log(level charm.Level, msg interface{}, keyvals ...interface{})
- func Logf(level charm.Level, format string, args ...interface{})
- func Print(msg interface{}, keyvals ...interface{})
- func Printf(format string, args ...interface{})
- func SetColorProfile(profile termenv.Profile)
- func SetDefault(logger *AtmosLogger)
- func SetLevel(level charm.Level)
- func SetOutput(w io.Writer)
- func SetPrefix(prefix string)
- func SetReportCaller(report bool)
- func SetReportTimestamp(report bool)
- func SetStyles(styles *charm.Styles)
- func SetTimeFormat(format string)
- func Trace(msg interface{}, keyvals ...interface{})
- func Tracef(format string, args ...interface{})
- func Warn(msg interface{}, keyvals ...interface{})
- func Warnf(format string, args ...interface{})
- type AtmosLogger
- func (l *AtmosLogger) Debug(msg interface{}, keyvals ...interface{})
- func (l *AtmosLogger) Debugf(format string, args ...interface{})
- func (l *AtmosLogger) Error(msg interface{}, keyvals ...interface{})
- func (l *AtmosLogger) Errorf(format string, args ...interface{})
- func (l *AtmosLogger) Fatal(msg interface{}, keyvals ...interface{})
- func (l *AtmosLogger) Fatalf(format string, args ...interface{})
- func (l *AtmosLogger) GetLevel() Level
- func (l *AtmosLogger) GetLevelString() string
- func (l *AtmosLogger) GetPrefix() string
- func (l *AtmosLogger) Helper()
- func (l *AtmosLogger) Info(msg interface{}, keyvals ...interface{})
- func (l *AtmosLogger) Infof(format string, args ...interface{})
- func (l *AtmosLogger) Log(level Level, msg interface{}, keyvals ...interface{})
- func (l *AtmosLogger) Logf(level Level, format string, args ...interface{})
- func (l *AtmosLogger) Print(msg interface{}, keyvals ...interface{})
- func (l *AtmosLogger) Printf(format string, args ...interface{})
- func (l *AtmosLogger) SetColorProfile(profile termenv.Profile)
- func (l *AtmosLogger) SetLevel(level Level)
- func (l *AtmosLogger) SetOutput(w io.Writer)
- func (l *AtmosLogger) SetPrefix(prefix string)
- func (l *AtmosLogger) SetReportCaller(report bool)
- func (l *AtmosLogger) SetReportTimestamp(report bool)
- func (l *AtmosLogger) SetStyles(styles *charm.Styles)
- func (l *AtmosLogger) SetTimeFormat(format string)
- func (l *AtmosLogger) Trace(msg interface{}, keyvals ...interface{})
- func (l *AtmosLogger) Tracef(format string, args ...interface{})
- func (l *AtmosLogger) Warn(msg interface{}, keyvals ...interface{})
- func (l *AtmosLogger) Warnf(format string, args ...interface{})
- func (l *AtmosLogger) With(keyvals ...interface{}) *AtmosLogger
- func (l *AtmosLogger) WithPrefix(prefix string) *AtmosLogger
- type Level
- type LogLevel
- type Styles
Constants ¶
const ( // Infrastructure fields. FieldBucket = "bucket" FieldContainer = "container" FieldFile = "file" FieldRegion = "region" // Atmos domain fields. FieldStack = "stack" FieldComponent = "component" FieldFunction = "function" // Operation fields. FieldAttempt = "attempt" FieldBackoff = "backoff" FieldAttempts = "attempts" FieldDuration = "duration" FieldErrorCode = "error_code" // General fields. FieldError = "error" FieldKey = "key" FieldValue = "value" )
Common log field keys for consistent structured logging across the codebase. Use these constants instead of string literals to ensure consistency and enable refactoring.
const ( // TraceLevel is the trace log level. TraceLevel = charm.DebugLevel - 1 // DebugLevel is the debug log level. DebugLevel = charm.DebugLevel // InfoLevel is the info log level. InfoLevel = charm.InfoLevel // WarnLevel is the warning log level. WarnLevel = charm.WarnLevel // ErrorLevel is the error log level. ErrorLevel = charm.ErrorLevel // FatalLevel is the fatal log level. FatalLevel = charm.FatalLevel )
Level constants for compatibility.
Variables ¶
var ErrInvalidLogLevel = errors.New("invalid log level")
ErrInvalidLogLevel is returned when an invalid log level is provided.
Functions ¶
func ConfigureLogrusForAtmos ¶ added in v1.215.0
func ConfigureLogrusForAtmos()
ConfigureLogrusForAtmos configures logrus to use Atmos logger instead of stdout. Uses JSONFormatter for structured logging, allowing us to parse and preserve log levels and structured fields from logrus entries. Note: perf.Track is not used here because pkg/perf imports pkg/logger, which would create an import cycle. This is a one-time configuration call during auth setup, not a per-request hot path.
func Debug ¶ added in v1.192.0
func Debug(msg interface{}, keyvals ...interface{})
Debug logs a debug message using the default logger.
func Debugf ¶ added in v1.192.0
func Debugf(format string, args ...interface{})
Debugf logs a formatted debug message using the default logger.
func DefaultStyles ¶ added in v1.192.0
DefaultStyles returns the default charm log styles.
func Error ¶ added in v1.192.0
func Error(msg interface{}, keyvals ...interface{})
Error logs an error message using the default logger.
func Errorf ¶ added in v1.192.0
func Errorf(format string, args ...interface{})
Errorf logs a formatted error message using the default logger.
func Fatal ¶ added in v1.192.0
func Fatal(msg interface{}, keyvals ...interface{})
Fatal logs a fatal message using the default logger and exits.
func Fatalf ¶ added in v1.192.0
func Fatalf(format string, args ...interface{})
Fatalf logs a formatted fatal message using the default logger and exits.
func GetLevelString ¶ added in v1.192.0
func GetLevelString() string
GetLevelString returns the string representation of the current log level.
func GetPrefix ¶ added in v1.192.0
func GetPrefix() string
GetPrefix returns the logger prefix from the default logger.
func Info ¶ added in v1.192.0
func Info(msg interface{}, keyvals ...interface{})
Info logs an info message using the default logger.
func Infof ¶ added in v1.192.0
func Infof(format string, args ...interface{})
Infof logs a formatted info message using the default logger.
func LevelToString ¶ added in v1.196.0
LevelToString converts a charm.Level to its string representation. It handles Atmos' custom TraceLevel and falls back to the standard string representation for other levels.
Parameters:
- level: The charm.Level to convert
Returns:
- string: The lowercase string representation of the level (e.g., "trace", "debug", "info", "warn", "error", "fatal")
Examples:
- LevelToString(TraceLevel) returns "trace"
- LevelToString(charm.InfoLevel) returns "info"
- LevelToString(charm.ErrorLevel) returns "error"
func Logf ¶ added in v1.192.0
Logf logs a formatted message at the given level using the default logger.
func Print ¶ added in v1.192.0
func Print(msg interface{}, keyvals ...interface{})
Print logs a message at the info level using the default logger.
func Printf ¶ added in v1.192.0
func Printf(format string, args ...interface{})
Printf logs a formatted message at the info level using the default logger.
func SetColorProfile ¶ added in v1.192.0
SetColorProfile sets the color profile on the default logger.
func SetDefault ¶ added in v1.192.0
func SetDefault(logger *AtmosLogger)
SetDefault sets a new global default AtmosLogger instance.
func SetPrefix ¶ added in v1.192.0
func SetPrefix(prefix string)
SetPrefix sets the logger prefix on the default logger.
func SetReportCaller ¶ added in v1.192.0
func SetReportCaller(report bool)
SetReportCaller sets whether to report the caller location on the default logger.
func SetReportTimestamp ¶ added in v1.192.0
func SetReportTimestamp(report bool)
SetReportTimestamp sets whether to report timestamps on the default logger.
func SetTimeFormat ¶ added in v1.192.0
func SetTimeFormat(format string)
SetTimeFormat sets the time format on the default logger.
func Trace ¶ added in v1.192.0
func Trace(msg interface{}, keyvals ...interface{})
Trace logs a trace message using the default logger.
func Tracef ¶ added in v1.192.0
func Tracef(format string, args ...interface{})
Tracef logs a formatted trace message using the default logger.
Types ¶
type AtmosLogger ¶ added in v1.192.0
type AtmosLogger struct {
// contains filtered or unexported fields
}
AtmosLogger wraps the Charm Bracelet logger to provide a consistent interface for Atmos while maintaining full compatibility.
func Default ¶ added in v1.192.0
func Default() *AtmosLogger
Default returns the global default AtmosLogger instance.
func New ¶ added in v1.192.0
func New() *AtmosLogger
New creates a new AtmosLogger with default settings.
func NewAtmosLogger ¶ added in v1.192.0
func NewAtmosLogger(charmLogger *charm.Logger) *AtmosLogger
NewAtmosLogger creates a new AtmosLogger instance wrapping the given charm logger.
func With ¶ added in v1.192.0
func With(keyvals ...interface{}) *AtmosLogger
With returns a new logger with the given key-value pairs.
func WithPrefix ¶ added in v1.192.0
func WithPrefix(prefix string) *AtmosLogger
WithPrefix returns a new logger with the given prefix.
func (*AtmosLogger) Debug ¶ added in v1.192.0
func (l *AtmosLogger) Debug(msg interface{}, keyvals ...interface{})
Debug logs a debug message.
func (*AtmosLogger) Debugf ¶ added in v1.192.0
func (l *AtmosLogger) Debugf(format string, args ...interface{})
Debugf logs a formatted debug message.
func (*AtmosLogger) Error ¶ added in v1.192.0
func (l *AtmosLogger) Error(msg interface{}, keyvals ...interface{})
Error logs an error message.
func (*AtmosLogger) Errorf ¶ added in v1.192.0
func (l *AtmosLogger) Errorf(format string, args ...interface{})
Errorf logs a formatted error message.
func (*AtmosLogger) Fatal ¶ added in v1.192.0
func (l *AtmosLogger) Fatal(msg interface{}, keyvals ...interface{})
Fatal logs a fatal message and exits the program.
func (*AtmosLogger) Fatalf ¶ added in v1.192.0
func (l *AtmosLogger) Fatalf(format string, args ...interface{})
Fatalf logs a formatted fatal message and exits the program.
func (*AtmosLogger) GetLevel ¶ added in v1.192.0
func (l *AtmosLogger) GetLevel() Level
GetLevel returns the current log level.
func (*AtmosLogger) GetLevelString ¶ added in v1.192.0
func (l *AtmosLogger) GetLevelString() string
GetLevelString returns the string representation of the current log level handling our custom levels appropriately.
func (*AtmosLogger) GetPrefix ¶ added in v1.192.0
func (l *AtmosLogger) GetPrefix() string
GetPrefix returns the logger prefix.
func (*AtmosLogger) Helper ¶ added in v1.192.0
func (l *AtmosLogger) Helper()
Helper marks the logger as a helper.
func (*AtmosLogger) Info ¶ added in v1.192.0
func (l *AtmosLogger) Info(msg interface{}, keyvals ...interface{})
Info logs an info message.
func (*AtmosLogger) Infof ¶ added in v1.192.0
func (l *AtmosLogger) Infof(format string, args ...interface{})
Infof logs a formatted info message.
func (*AtmosLogger) Log ¶ added in v1.192.0
func (l *AtmosLogger) Log(level Level, msg interface{}, keyvals ...interface{})
Log logs a message at the given level.
func (*AtmosLogger) Logf ¶ added in v1.192.0
func (l *AtmosLogger) Logf(level Level, format string, args ...interface{})
Logf logs a formatted message at the given level.
func (*AtmosLogger) Print ¶ added in v1.192.0
func (l *AtmosLogger) Print(msg interface{}, keyvals ...interface{})
Print logs a message at the info level.
func (*AtmosLogger) Printf ¶ added in v1.192.0
func (l *AtmosLogger) Printf(format string, args ...interface{})
Printf logs a formatted message at the info level.
func (*AtmosLogger) SetColorProfile ¶ added in v1.192.0
func (l *AtmosLogger) SetColorProfile(profile termenv.Profile)
SetColorProfile sets the color profile.
func (*AtmosLogger) SetLevel ¶ added in v1.192.0
func (l *AtmosLogger) SetLevel(level Level)
SetLevel sets the log level.
func (*AtmosLogger) SetOutput ¶ added in v1.192.0
func (l *AtmosLogger) SetOutput(w io.Writer)
SetOutput sets the output writer.
func (*AtmosLogger) SetPrefix ¶ added in v1.192.0
func (l *AtmosLogger) SetPrefix(prefix string)
SetPrefix sets the logger prefix.
func (*AtmosLogger) SetReportCaller ¶ added in v1.192.0
func (l *AtmosLogger) SetReportCaller(report bool)
SetReportCaller sets whether to report the caller location.
func (*AtmosLogger) SetReportTimestamp ¶ added in v1.192.0
func (l *AtmosLogger) SetReportTimestamp(report bool)
SetReportTimestamp sets whether to report timestamps.
func (*AtmosLogger) SetStyles ¶ added in v1.192.0
func (l *AtmosLogger) SetStyles(styles *charm.Styles)
SetStyles sets the log styles.
func (*AtmosLogger) SetTimeFormat ¶ added in v1.192.0
func (l *AtmosLogger) SetTimeFormat(format string)
SetTimeFormat sets the time format.
func (*AtmosLogger) Trace ¶ added in v1.192.0
func (l *AtmosLogger) Trace(msg interface{}, keyvals ...interface{})
Trace logs a trace message.
func (*AtmosLogger) Tracef ¶ added in v1.192.0
func (l *AtmosLogger) Tracef(format string, args ...interface{})
Tracef logs a formatted trace message.
func (*AtmosLogger) Warn ¶ added in v1.192.0
func (l *AtmosLogger) Warn(msg interface{}, keyvals ...interface{})
Warn logs a warning message.
func (*AtmosLogger) Warnf ¶ added in v1.192.0
func (l *AtmosLogger) Warnf(format string, args ...interface{})
Warnf logs a formatted warning message.
func (*AtmosLogger) With ¶ added in v1.192.0
func (l *AtmosLogger) With(keyvals ...interface{}) *AtmosLogger
With returns a new logger with the given key-value pairs.
func (*AtmosLogger) WithPrefix ¶ added in v1.192.0
func (l *AtmosLogger) WithPrefix(prefix string) *AtmosLogger
WithPrefix returns a new logger with the given prefix.
type Level ¶ added in v1.192.0
Level is the log level type.
func ConvertLogLevel ¶ added in v1.192.0
ConvertLogLevel converts a string LogLevel to a charm Level.
type LogLevel ¶
type LogLevel string
LogLevel represents log level as a string.
const ( // LogLevelOff turns off logging. LogLevelOff LogLevel = "Off" // LogLevelTrace is the trace log level. LogLevelTrace LogLevel = "Trace" // LogLevelDebug is the debug log level. LogLevelDebug LogLevel = "Debug" // LogLevelInfo is the info log level. LogLevelInfo LogLevel = "Info" // LogLevelWarning is the warning log level. LogLevelWarning LogLevel = "Warning" // LogLevelError is the error log level. LogLevelError LogLevel = "Error" )
func ParseLogLevel ¶
ParseLogLevel parses a string log level and returns a LogLevel.