Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

604
Vistas
¿Cómo guardo los registros de la aplicación del matraz por separado por día en lugar de un archivo gigante?

Tengo una aplicación de matraz de Python ejecutándose en EC2. Para permitir que la interfaz de la interfaz de usuario sea funcional, ejecuto esto en ec2 después de iniciar sesión como el usuario correcto:

 uwsgi --socket 0.0.0.0:8000 --protocol=http -w wsgi:application -z 120 --http-timeout 120 --enable-threads -H /home/test/env --daemonize /home/test/test.log

y la interfaz de usuario se vuelve operativa. Cuando hago clic en el botón de descarga, se realizan ciertos cálculos antes de que el csv esté listo para descargar. No tengo un archivo uwsgi.ini ni ningún tipo de nginx.

Después de un punto, test.log se convierte en un archivo muy grande; ¿Cómo escribo archivos de registro para que el registro de cada día se escriba en un archivo separado? o ¿cuál es la mejor manera de evitar que se genere un archivo de registro grande y, en cambio, tener algo que sea más manejable?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Puede implementar la rotación de registros utilizando los controladores de registro de Python:

 from flask import Flask import logging from logging.handlers import RotatingFileHandler app = Flask(__name__) if __name__ == '__main__': handler = RotatingFileHandler('test.log', maxBytes=12000, backupCount=5) handler.setLevel(logging.INFO) app.logger.addHandler(handler) app.run()

https://docs.python.org/3/library/logging.handlers.html#rotatingfilehandler

Esto transferiría los registros cuando se haya alcanzado el tamaño maxBytes . El archivo de registro principal seguirá siendo test.log pero el registro completo se renombrará a test.log.1 , test.log.2 y así sucesivamente.

over 4 years ago · Santiago Trujillo Denunciar

0

Utiliza la clase TimedRotatingFileHandler .

El objeto TimedRotatingFileHandler creará un archivo de registro para cada día, pero deberá manejarlo dentro del código de la aplicación del servidor.

 import os import logging from logging.handlers import TimedRotatingFileHandler from datetime import datetime logger = logging.getLogger(__name__) logger.setLevel(logging.INFO) formatter = logging.Formatter('[%(asctime)s] %(levelname)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S') handler = TimedRotatingFileHandler(os.path.join('./', 'custom_log.log'), when='midnight', backupCount=7) handler.setLevel(logging.INFO) handler.setFormatter(formatter) logger.addHandler(handler) logger.info("Info") logger.warning("Warning") logger.error("Error")
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda