Documentation
¶
Overview ¶
Package logger provides a simple logging framework that supports different log levels (DEBUG, INFO, WARN, ERROR) 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.
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 ¶
This section is empty.
Types ¶
type Level ¶
type Level string
Level represents the severity of a log message. It can be one of DEBUG, INFO, WARN, or ERROR.
const ( SILENT Level = "silent" // SILENT represents no logging, effectively muting all log messages. DEBUG Level = "debug" // DEBUG represents debug-level messages, useful for development and troubleshooting. INFO Level = "info" // INFO represents informational messages, typically used for normal operation. WARN Level = "warn" // WARN represents warning messages, which indicate potential issues but not failures. ERROR Level = "error" // ERROR represents error messages, indicating failure in operation. ALWAYS Level = "always" // ALWAYS represents messages that should always be logged, regardless of the current log level. )
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.