Escribir en Registro Negativo
En Wired Code: effect.neg_log
Como Escribir en Registro, pero anota cuando las condiciones de la pila no se cumplen.
Cómo funciona
Sección titulada «Cómo funciona»Es el que resuelve la pregunta que se hace todo el que monta wireds: ¿esta pila no se ejecuta, o se ejecuta y falla la condición? Son dos problemas completamente distintos —uno es del causante, el otro de la condición— y desde fuera se ven igual.
Poniendo un registro normal y uno negativo en la misma pila, la respuesta es inmediata: si no aparece ninguna línea, no llegó a entrar; si aparece la negativa, entró y falló la condición.
Configuración
Sección titulada «Configuración»
Las mismas que su gemela: Nivel de registro —el desplegable con INFO, WARN, ERROR y DEBUG, en ese orden, y con INFO de fábrica— y Mensaje de registro, hasta 400 caracteres.
Ejemplo
Sección titulada «Ejemplo»El diagnóstico de los dos caminos:
Pila A│├─ Causante: Sobre un Furni│ └─ Elige Furni ............................. Alfombra│├─ Condición: Contiene variable│ └─ Escoge una variable ..................... tiene_llave│├─ Efecto: Escribir en Registro│ ├─ Nivel de registro ....................... DEBUG│ └─ Mensaje de registro ..................... "condición cumplida"│├─ Efecto: Escribir en Registro Negativo│ ├─ Nivel de registro ....................... WARN│ └─ Mensaje de registro ..................... "condición fallida"│└─ Efecto: Mutar ├─ Elige Furni ............................. Portón └─ Escoge el tipo de cambio ................ Cambiar al siguiente estadoSin condiciones no escribe nunca. El camino negativo solo existe cuando hay algo que pueda fallar: en una pila sin condiciones no hay nada que incumplir, así que este efecto se queda callado para siempre.
Los complementos de la pila no le afectan. Los que reparten o racionan efectos
—Ejecutar en Orden,
Límite de Ejecución,
Efecto Aleatorio,
Efecto no visto— no tocan el camino negativo: ahí los efectos
corren siempre y todos. Tampoco le sustituyen el texto, así que un
Marcador de posición de variable sale tal cual,
con su $(...) y todo.
Ponlo en WARN, no en DEBUG. El camino del fallo es justo lo que quieres poder filtrar sin tener que leer todo lo demás.
Es la forma más barata de depurar una condición. Antes de desmontar la pila entera, mete este efecto y mira el registro: la mayoría de las veces la respuesta aparece a la primera.