Tengo problemas para averiguar cómo registrar mensajes con Sinatra. No estoy buscando registrar solicitudes, sino mensajes personalizados en ciertos puntos de mi aplicación. Por ejemplo, cuando busco una URL, me gustaría ingresar al "Fetching #{url}"
.¿Iniciar sesión en Sinatra?
Aquí es lo que me gusta:
- La posibilidad de especificar niveles de registro (por ejemplo:
logger.info("Fetching #{url}")
) - En entornos de desarrollo y pruebas, los mensajes se escribiría a la consola.
- En producción, solo escriba los mensajes que coincidan con el nivel de registro actual.
supongo que esto puede hacerse fácilmente en config.ru
, pero no estoy 100% seguro del valor que quiero para permitir, y si tengo que crear manualmente un objeto Logger
a mí mismo (y, además, que la clase de Logger
para usar: Logger
, Rack::Logger
, o Rack::CommonLogger
).
(Sé que hay preguntas similares en StackOverflow, pero ninguna parece responder directamente a mi pregunta. Si puede dirigirme a una pregunta existente, la marcaré como un duplicado).
Esta respuesta sería de mucha ayuda si incluyó información sobre cómo establecer el destino del registrador (archivo/STDOUT) y cómo registrar realmente ('logger.info" foo "'?) – Phrogz
El uso se describe en el README de Sinatra en github: 'logger.inf o ("foo") '. El destino lo establece el servidor web (utiliza la secuencia de error de Rack), básicamente puede configurarlo cambiando 'env ['rack.errors']'. –
debido al uso de ayudantes, esto parece que solo funciona en contexto de solicitud. no funciona para las cosas que sucedieron en partes anteriores de la aplicación (solicitud previa, configuración de la aplicación, etc.) – lfender6445