首页 > 解决方案 > 在开发过程中记录调试和其他信息

问题描述

我过去使用dbgPeter Norvig 的PAIP中的宏在开发过程中输出中间和调试信息。我为更复杂的应用程序找到了几个 日志库,并且想知道其他人使用什么。

在开发和调试过程中如何组织中间信息的输出?

标签: loggingcommon-lisp

解决方案


我使用事实上的日志库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*)

当我们在 Emacs 中安装它的配套库log4slime时,我们会得到一个菜单并单击鼠标来过滤输出。例如,如果您有一堆info日志和一些warnings,并且只想查看警告,则可以这样做。您可以全局、按包、按函数以及按 CLOS 方法和 CLOS 层次结构(方法之前和之后)对此进行操作。

traceing 有时会很有用。


推荐阅读