cl-fluent-logger

2025年06月22日

A structured logger for Fluentd

Author

Eitaro Fukamachi

License

BSD 3-Clause

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

Copyright

Copyright (c) 2017 Eitaro Fukamachi (e.arrows@gmail.com)

License

Licensed under the BSD 3-Clause License.

AltStyle によって変換されたページ (->オリジナル) /