我将一个任务发送给代理,但是看不到我放入函数的任何打印语句的输出。如何在代理上跟踪代码执行?
编辑:结果我做在控制台中获取输出,但在SLIME中没有。现在的问题是,如何在SLIME中看到输出?
答案 0 :(得分:4)
关键是从emacs开始作为低级lisp进程而不是从shell调用lein swank。一种方法是使用elein(命令为M-x elein-swank
)。然后,您可以检查下级lisp缓冲区(在使用elein的示例中称为*elein-swank*
)中的输出,或执行slime-redirect-inferior-output
并在repl中使输出内联。 Clojure.contrib.logging是一个用于发送日志输出的有用工具。
答案 1 :(得分:1)
您可以将调用包装在(with-out-str (def result (my-code)))
中的repl中,以将输出捕获为字符串。这样你可以只为你正在处理的代码做到这一点,你不必重新启动你的repl来开始获得你的输出。