estoy usando el siguiente código para inicializar el registro en mi solicitud:Reiniciar el registro en un archivo nuevo (Python)
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
# log to a file
directory = '/reserved/DYPE/logfiles'
now = datetime.now().strftime("%Y%m%d_%H%M%S")
filename = os.path.join(directory, 'dype_%s.log' % now)
file_handler = logging.FileHandler(filename)
file_handler.setLevel(logging.DEBUG)
formatter = logging.Formatter("%(asctime)s %(filename)s, %(lineno)d, %(funcName)s: %(message)s")
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
# log to the console
console_handler = logging.StreamHandler()
level = logging.INFO
console_handler.setLevel(level)
logger.addHandler(console_handler)
logging.debug('logging initialized')
¿Cómo puedo cerrar el archivo de registro actual y reiniciar el registro en un archivo nuevo?
Nota: No quiero utilizar RotatingFileHandler, porque quiero un control total sobre todos los nombres de archivo.
Por lo tanto, puede utilizar esta ?: logger.removeHandler (logger.handlers [0]) – compie
@Compie, Sí, que lo harán. Es posible que desee 'logger.handlers [0] .stream.close()' primero. –
Y no cierre stdout o stderr si tiene un StreamHandler() – SoloPilot