Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ZeriLogger *zap.SugaredLogger
ZeriLogger is a global instance of a SugaredLogger for convenient logging throughout the application.
Functions ¶
func InitLogger ¶
func InitLogger(cfg *Config, opts ...zap.Option) (*zap.SugaredLogger, func())
InitLogger initializes the global ZeriLogger instance based on the provided configuration. It sets up a new zap.Logger according to the specified settings and options. If the logger initialization fails, it logs a fatal error and terminates the application.
Parameters: - cfg: A pointer to a Config struct containing the configuration settings for the logger. - opts: Optional zap options for customizing the logger further.
Returns: - A pointer to the initialized SugaredLogger instance. - A function that can be called to undo the global logger replacement.
Usage example:
cfg := &Config{EnableDevMode: true}
zeriLogger, undo := InitLogger(cfg)
defer undo() // Revert the global logger replacement when done
zeriLogger.Info("Logger initialized successfully")
func NewLoggerWithAttributes ¶
func NewLoggerWithAttributes(attributes Attributes) *zap.SugaredLogger
NewLoggerWithAttributes creates a new SugaredLogger with additional attributes added from the provided map. If the global ZeriLogger is not initialized, it will initialize it with default settings.
Parameters: - attributes: A map of key-value pairs representing additional attributes to include in the logger.
Returns: - A pointer to the SugaredLogger instance with the specified attributes.
Types ¶
type Attributes ¶
type Config ¶
type Config struct {
// DisableCaller specifies whether to omit the caller's file and line number in log messages.
DisableCaller bool
// DisableStacktrace specifies whether to disable stacktrace logging on errors.
DisableStacktrace bool
// EnableDevMode indicates whether the logger should operate in development mode with more verbose output.
EnableDevMode bool
// Level defines the logging level (e.g., debug, info, warn, error).
Level LevelType
// Encoding specifies the format for log output (e.g., json, console).
Encoding EncodingType
}
type EncodingType ¶
type EncodingType string
const ( EncodingJSON EncodingType = "json" EncodingConsole EncodingType = "console" )
Log encoding