log
API
log
packageAPI reference for the log
package.
T
type
LogLevel
LogLevel represents the severity of a log message.
pkg/log/log.go:9-9
type LogLevel int
I
interface
Logger
Logger defines the interface for logging messages with different severity levels.
pkg/log/log.go:19-24
type Logger interface
S
defaultLogger
pkg/log/log.go:26-26
type defaultLogger struct
Methods
Info
Method
Info logs an informational message.
Parameters
format
string
a
...any
func (*defaultLogger) Info(format string, a ...any)
{
logMessage(LogLevelInfo, "", format, a...)
}
Example
logger.Info("System status: %s", "OK")
Success
Method
Success logs a success message.
Parameters
format
string
a
...any
func (*defaultLogger) Success(format string, a ...any)
{
logMessage(LogLevelSuccess, "", format, a...)
}
Example
logger.Success("Operation completed successfully")
Warning
Method
Warning logs a warning message.
Parameters
format
string
a
...any
func (*defaultLogger) Warning(format string, a ...any)
{
logMessage(LogLevelWarning, "", format, a...)
}
Example
logger.Warning("Disk space is running low")
Error
Method
Error logs an error message.
Parameters
format
string
a
...any
func (*defaultLogger) Error(format string, a ...any)
{
logMessage(LogLevelError, "", format, a...)
}
Example
logger.Error("Failed to connect to database: %v", err)
F
function
New
New creates a new instance of the default Logger.
Returns
pkg/log/log.go:34-36
func New() Logger
{
return &defaultLogger{}
}
Example
logger := log.New()
logger.Info("Starting application...")
Uses
F
function
logMessage
logMessage prints a formatted message to standard output based on log level and debug mode.
Parameters
pkg/log/log.go:75-85
func logMessage(level LogLevel, component string, format string, a ...any)
{
color := getLogLevelColor(level)
coloredLevel := colorize(getLogLevelSymbol(level), color)
coloredComponent := ""
if os.Getenv("DEBUG") == "1" && component != "" {
coloredComponent = colorize(component, "blue") + " "
}
fmt.Printf("%s %s%s\n", coloredLevel, coloredComponent, fmt.Sprintf(format, a...))
}
Uses
F
function
getLogLevelColor
getLogLevelColor returns the ANSI color code name associated with a log level.
Parameters
level
Returns
string
pkg/log/log.go:88-101
func getLogLevelColor(level LogLevel) string
{
switch level {
case LogLevelInfo:
return "blue"
case LogLevelWarning:
return "yellow"
case LogLevelError:
return "red"
case LogLevelSuccess:
return "green"
default:
return "reset"
}
}
Uses
F
function
getLogLevelSymbol
getLogLevelSymbol returns the unicode symbol associated with a log level.
Parameters
level
Returns
string
pkg/log/log.go:104-117
func getLogLevelSymbol(level LogLevel) string
{
switch level {
case LogLevelInfo:
return "ℹ"
case LogLevelWarning:
return "⚠️"
case LogLevelError:
return "ø"
case LogLevelSuccess:
return "✓"
default:
return ""
}
}
Uses
F
function
colorize
colorize applies the specified ANSI color to the text.
Parameters
text
string
color
string
Returns
string
pkg/log/log.go:120-129
func colorize(text string, color string) string
{
colors := map[string]string{
"red": "\033[31m",
"green": "\033[32m",
"yellow": "\033[33m",
"blue": "\033[34m",
"reset": "\033[0m",
}
return colors[color] + text + colors["reset"]
}