logging - 在开发过程中记录调试和其他信息
问题描述
我过去使用dbg
Peter Norvig 的PAIP中的宏在开发过程中输出中间和调试信息。我为更复杂的应用程序找到了几个 日志库,并且想知道其他人使用什么。
在开发和调试过程中如何组织中间信息的输出?
解决方案
我使用事实上的日志库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 层次结构(方法之前和之后)对此进行操作。
trace
ing 有时会很有用。
推荐阅读
- docker - 使用 JDBC 输入插件在 Docker 上的 Logstash 不会从 SQL Server 获取所有行
- flutter - 如何突出显示我在字符串中搜索的确切单词,而不仅仅是字符串的开头?
- flutter - 如何实时获取文档长度
- javascript - Reactjs 从获取请求中返回一个对象
- javascript - Nginx 正在尝试打开文件而不是重定向到代理
- python - _joint_log_likelihood 给我错误的值
- sql - 如何按日期获取最后一件商品的价格
- python-3.x - 定期执行功能而不停止其他操作
- r - 使用 R 从 PDF 表单到数据框的文本挖掘
- r - 如果 r 中出现错误,则转到 lapply() 的下一次迭代