Mostrar el contenido de un archivo de registro a medida que se actualiza.

Tengo progtwigs externos como ffmpeg y gstreamer que se ejecutan en segundo plano y escriben en un archivo de registro. Quiero mostrar el contenido de este registro con mi aplicación Flask, para que el usuario pueda ver la actualización del registro, como lo haría tail -f job.log en el terminal.

Intenté usar para apuntar al archivo de registro, pero no pude mostrar los datos, o el navegador me dijo que necesitaba un complemento.

¿Cómo puedo incrustar y actualizar el archivo de registro en una página HTML?

Related of "Mostrar el contenido de un archivo de registro a medida que se actualiza."

Use una vista del Frasco para leer continuamente el archivo para siempre y transmitir la respuesta. Utilice JavaScript para leer la secuencia y actualizar la página. Este ejemplo envía el archivo completo, es posible que desee truncarlo en algún momento para ahorrar ancho de banda y memoria. Este ejemplo duerme entre lecturas para reducir la carga de la CPU desde el bucle sin fin y permitir que otros subprocesos tengan más tiempo activo.

 from time import sleep from flask import Flask, render_template app = Flask(__name__) @app.route('/') def index(): return render_template('index.html') @app.route('/stream') def stream(): def generate(): with open('job.log') as f: while True: yield f.read() sleep(1) return app.response_class(generate(), mimetype='text/plain') app.run() 
 

Esto es casi lo mismo que esta respuesta , que describe cómo transmitir y analizar mensajes, aunque la lectura de un archivo externo para siempre fue lo suficientemente novedosa como para ser su propia respuesta. El código aquí es más simple porque no nos importa analizar mensajes o terminar la transmisión, simplemente seguimos el archivo para siempre.

Estoy usando el paquete frontail de npm.

 npm i frontail -g frontail /var/log/syslog 

visite http://127.0.0.1:9001 para ver los registros

Fuente: https://github.com/mthenw/frontail

Es posible que esta no sea la respuesta exacta a la pregunta (para incrustar una página html), pero resuelve el problema de muchos usuarios que buscan específicamente solo

Mostrar el contenido de un archivo de registro a medida que se actualiza.