Я использую де-факто библиотеку журналов log4cl
(теперь поддерживается сообществом https://github.com/sharplispers/log4cl/).
https://lispcookbook.github.io/cl-cookbook/debugging.html#logging
Ее простейшее использование выглядит следующим образом:
(log:info *foo*)
, но мы также можем чередовать структуры управления форматами:
(log:info "the variable ~a is ~{~a~}" *foo*)
Когда мы устанавливаем сопутствующую библиотеку log4slime
в Emacs, мы получаем меню и щелчки мышью для фильтрации вывода. Например,если у вас есть куча info
журналов и немного warnings
, и вы хотите видеть только предупреждения, вы можете сделать это. Вы можете действовать на этом глобально, для каждого пакета, для каждой функции, а также методами CLOS и иерархией CLOS(до и после методов).
trace
иногда может быть полезным.
![](https://github.com/sharplispers/log4cl/raw/master/images/screenshot-15.png)