He intentado que el registro funcione en AWS Cloudwatch, pero hasta ahora no he tenido éxito. Estoy ejecutando un backend de matraz de Python en Fargate y manejo el registro a través de Cloudwatch. Sin embargo, solo aparecen mensajes de error y nada sobre los registros que he insertado. Recibiré mensajes de error en CloudWatch y mensajes de inicio, pero ningún registro.
* Serving Flask app "app" (lazy loading) * Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Debug mode: on * Restarting with windowsapi reloader * Debugger is active! * Debugger PIN: 222-692-161 * Running on http://0.0.0.0:6000/ (Press CTRL+C to quit) 127.0.0.1 - - [03/Nov/2020 09:47:23] "GET /health HTTP/1.1" 200 -Esto se muestra en Cloudwatch, el diálogo de inicio del matraz y los mensajes de que la consulta de control de estado funcionó correctamente. Sin embargo, no hay registros desde dentro de mi control de estado. He probado 2 estrategias.
import logging logger = logging.getLogger(level=logging.INFO) log.info("This is an informative log")y también he definido una función de impresión para enviar datos a stderr para que Cloudwatch los recoja
def eprint(cls, *args, **kwargs): print(*args, file=sys.stderr, **kwargs) eprint("this is another informative log")No estoy seguro de por qué ninguna de estas soluciones funciona, ya que Cloudwatch debería recoger los datos enviados a stderr. ¿Hay alguna manera de habilitar los registros de Cloudwatch en unas pocas líneas de código y de la forma menos invasiva posible?
¡Gracias de antemano!