lasp/examples/log.lisp
2024-05-03 14:45:58 -05:00

25 lines
756 B
Common Lisp

(define send-message
(lambda (ptr-to-message length-of-message)
(asm
(li64 r1 3)
(li64 r2 1)
(li64 r3 ptr-to-message)
(li64 r4 length-of-message)
(eca))))
(define log
(lambda (level string)
(
(append (string level))
(define ptr-to-message (ptr-to string))
(define length-of-message (length string))
(send-message ptr-to-message length-of-message))))
(define error (lambda (message) (log 0 message)))
(define warn (lambda (message) (log 1 message)))
(define info (lambda (message) (log 2 message)))
(define debug (lambda (message) (log 3 message)))
(define trace (lambda (message) (log 4 message)))
(info "Logger works.")