cl-fluent-logger
2025年06月22日
A structured logger for Fluentd
cl-fluent-logger
A Common Lisp structured logger for Fluentd.
Usage
(ql:quickload:cl-fluent-logger) (defvar*logger*(make-instance'fluent:fluent-logger:tag"myapp":host"127.0.0.1":port24224)) (fluent:post *logger* "follow"'(("from"."userA")("to"."userB"))) ;; Use the logger globally.(setf fluent:*logger* *logger*) (fluent:log"follow"'(("from"."userA")("to"."userB")))
Text logger
(defvar*logger*(make-instance'fluent:text-logger)) (fluent:post *logger* "follow"'(("from"."userA")("to"."userB")));-> 2017年05月17日T12:45:51.774499+09:00 follow: from="userA" to="userB";=> NIL
Broadcasting
(defvar*logger*(fluent:make-broadcast-logger(make-instance'fluent:fluent-logger)(make-instance'fluent:text-logger))) ;; Posts a log to fluentd and also outputs to the standard output.(fluent:post *logger* "follow"'(("from"."userA")("to"."userB")));-> 2017年05月17日T12:45:51.774499+09:00 follow: from="userA" to="userB";=> NIL
Level logger
;; Log levels are one of :trace, :debug, :info, :warn, :error and :fatal.(defvar*logger*(make-instance'fluent:level-logger:level:debug:logger(make-instance'fluent:text-logger))) (fluent:with-logger *logger* (fluent:info"follow"'(("from"."userA")("to"."userB"))));-> 2017年05月17日T12:45:51.774499+09:00 follow: from="userA" to="userB";=> NIL (fluent:with-logger *logger* (fluent:trace"follow"'(("from"."userA")("to"."userB"))));=> NIL
Log4CL Integration
(ql:quickload:cl-fluent-logger/log4cl) (defvar*logger*(log:category'(cl-user)))(fluent-logger/log4cl:create-fluent-logger *logger* :tag"debug":level:info) (log:info"hi");-> <INFO> [17:03:33] (cl-user) - hi
Author
- Eitaro Fukamachi (e.arrows@gmail.com)
Copyright
Copyright (c) 2017 Eitaro Fukamachi (e.arrows@gmail.com)
License
Licensed under the BSD 3-Clause License.