2011-02-27 19 views
6

Envío una tarea a un agente, pero no puedo ver el resultado de las instrucciones de impresión que he puesto en la función. ¿Cómo puedo rastrear la ejecución del código en los agentes?Cómo capturar la salida stdout/log de un agente en SLIME?

EDIT: Resulta que yo hago obtener la salida en la consola, pero no en baba. La pregunta ahora es, ¿cómo ver la salida en SLIME?

Respuesta

4

La clave es comenzar swank desde emacs como el proceso de ceceo inferior en lugar de llamar lein swank desde el shell. Una forma de hacerlo es usar elein (el comando es M-x elein-swank). Luego puede inspeccionar la salida en el buffer lisp inferior (que se llama *elein-swank* en el ejemplo de usar elein), o ejecutar slime-redirect-inferior-output y tener la salida en línea en el repl. Clojure.contrib.logging es una herramienta útil para enviar salida de registro.

+1

En las versiones más recientes de clojure-mode, puede hacer 'M-x clojure-jack-in' para iniciar SLIME y Clojure con STDOUT que aparece en REPL. –

1

Puede envolver las llamadas en su respuesta en (with-out-str (def result (my-code))) para capturar la salida como una cadena. de esta manera puede hacerlo solo por el código en el que está trabajando y no tiene que reiniciar su réplica para comenzar a obtener su resultado.

Cuestiones relacionadas