Documentation
¶
Overview ¶
Package logger provides a simple logging framework that supports different log levels (DEBUG, INFO, WARN, ERROR, ALWAYS, SILENT) and color-coded output.
The logger is configurable to print messages at a specified level or higher, and it allows for custom output writers. Each log level has a corresponding color to make messages easier to distinguish in the output.
Example usage:
Create a new logger that logs to stdout and has an INFO level.
l := logger.New(logger.INFO)
// Log messages at various levels.
l.Debug("This is a debug message") // Won't be shown since log level is INFO.
l.Info("This is an info message") // Will be shown.
l.Warn("This is a warning message") // Will be shown.
l.Error("This is an error message") // Will be shown.
l.Always("This is an always message") // Will be shown.
You can also create a custom logger with a different output:
// Create a logger that writes to a file and logs at the DEBUG level.
file, _ := os.Create("app.log")
l := logger.NewCustom(logger.DEBUG, file)
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func LevelStrings ¶ added in v0.0.1
func LevelStrings() []string
LevelStrings returns a slice of all String values of the enum
Types ¶
type Level ¶
type Level int
Level represents the severity of a log message. It can be one of DEBUG, INFO, WARN, ERROR, ALWAYS, or SILENT.
const ( // SILENT represents no logging, effectively muting all log messages. SILENT Level = iota - 1 // DEBUG represents debug-level messages, useful for development and troubleshooting. DEBUG // INFO represents informational messages, typically used for normal operation. INFO // WARN represents warning messages, which indicate potential issues but not failures. WARN // ERROR represents error messages, indicating failure in operation. ERROR // ALWAYS represents messages that should always be logged, regardless of the current log level. ALWAYS )
func LevelString ¶ added in v0.0.1
LevelString retrieves an enum value from the enum constants string name. Throws an error if the param is not part of the enum.
func LevelValues ¶ added in v0.0.1
func LevelValues() []Level
LevelValues returns all values of the enum
type Logger ¶
type Logger struct {
// contains filtered or unexported fields
}
Logger holds the configuration for logging. It includes the current logging level, the output writer, and color mappings for each log level.
func New ¶
New creates a new Logger instance with the specified log level and writes to stdout. If an invalid log level is provided, it defaults to INFO.
func NewCustom ¶
NewCustom creates a new Logger instance with the specified log level and output writer. If an invalid log level is provided, it defaults to INFO.
func (*Logger) Always ¶
Always logs a message at the INFO level, regardless of the current log level.