tur/log
Logger capability implementation using stderr/stdout.
Since: Phase 16
Real-Logger
(Real-Logger)
create a timestamped Logger capability writing to stdout/stderr.
A heap-allocated Logger struct whose debug/info methods write to stdout and warn/error methods write to stderr, each line prefixed with a ctime timestamp and the level name. Free with Real-Logger-free when done.
(let [log (Real-Logger)] ...)
Since: Phase 16
Real-Logger-free
(Real-Logger-free [log])
release a Logger capability created by Real-Logger.
| log | the Logger pointer returned by Real-Logger. |
Since: Phase 16
Simple-Logger
(Simple-Logger)
create a lightweight Logger capability without timestamps.
A heap-allocated Logger struct whose debug/info methods write to stdout and warn/error methods write to stderr, each line prefixed with only the level tag (e.g. "[DEBUG] ..."). Free with Simple-Logger-free when done.
(let [log (Simple-Logger)] ...)
Since: Phase 16
Simple-Logger-free
(Simple-Logger-free [log])
release a Logger capability created by Simple-Logger.
| log | the Logger pointer returned by Simple-Logger. |
Since: Phase 16
Null-Logger
(Null-Logger)
create a silent Logger capability that discards all messages.
A heap-allocated Logger struct where all four methods (debug, info, warn, error) are no-ops. Useful as a default/test double. Free with Null-Logger-free when done.
(let [log (Null-Logger)] ...)
Since: Phase 16
Null-Logger-free
(Null-Logger-free [log])
release a Logger capability created by Null-Logger.
| log | the Logger pointer returned by Null-Logger. |
Since: Phase 16
log-debug-direct
(log-debug-direct [msg])
write a DEBUG message directly to stdout.
| msg | the message string to log (:cstr). |
(log-debug-direct "starting up") ; prints: [DEBUG] starting up
Since: Phase 16
log-info-direct
(log-info-direct [msg])
write an INFO message directly to stdout.
| msg | the message string to log (:cstr). |
(log-info-direct "server ready") ; prints: [INFO] server ready
Since: Phase 16
log-warn-direct
(log-warn-direct [msg])
write a WARN message directly to stderr.
| msg | the message string to log (:cstr). |
(log-warn-direct "config missing, using defaults") ; prints to stderr: [WARN] config missing, using defaults
Since: Phase 16
log-error-direct
(log-error-direct [msg])
write an ERROR message directly to stderr.
| msg | the message string to log (:cstr). |
(log-error-direct "fatal: out of memory") ; prints to stderr: [ERROR] fatal: out of memory
Since: Phase 16