Logging
Structured logging with debug, info, warn, and error levels.
Loading
local logger = require("logger")
Log Levels
Debug
logger:debug("message", {key = "value"})
| Parameter |
Type |
Description |
message |
string |
Log message |
fields |
table? |
Contextual key-value pairs |
Info
logger:info("message", {key = "value"})
| Parameter |
Type |
Description |
message |
string |
Log message |
fields |
table? |
Contextual key-value pairs |
Warn
logger:warn("message", {key = "value"})
| Parameter |
Type |
Description |
message |
string |
Log message |
fields |
table? |
Contextual key-value pairs |
Error
logger:error("message", {key = "value"})
| Parameter |
Type |
Description |
message |
string |
Log message |
fields |
table? |
Contextual key-value pairs |
Logger Customization
With Fields
Create a child logger with persistent fields.
local child = logger:with({request_id = id})
child:info("message")
| Parameter |
Type |
Description |
fields |
table |
Fields to attach to all logs |
Returns: Logger
Named Logger
Create a named child logger.
local named = logger:named("auth")
named:info("message")
| Parameter |
Type |
Description |
name |
string |
Logger name |
Returns: Logger
Errors
| Condition |
Kind |
Retryable |
| Empty name string |
errors.INVALID |
no |
See Error Handling for working with errors.