Hola,
Hace un tiempo atrás tuve ese problema. El origen de esto es que, educadamente, el modulo logging por defecto abre un archivo y mantiene una referencia a él lo que significa que en sistemas UNIX seguirá escribiendo al mismo archivo aunque lo muevas. Esto causa que si un programa como logrotate rota los archivos, tu programa Python seguirá escribiendo al archivo antiguo, lo que probablemente no es lo que buscas.
La solución es que cuando uses el módulo logging, le pases explícitamente el handler
WatchedFileHandler al método basicConfig, de manera que si un programa externo cambia el archivo, el módulo logging detectará el cambio e intentará seguir escribiendo a un nuevo archivo, pero con el nombre original.
Ejemplo:
import logging
logging.basicConfig(level=logging.DEBUG,
handlers=[logging.WatchedFileHandler(filename='mi_hermoso_log.log')])
Más info en:
https://docs.python.org/3.5/library/logging.handlers.html?highlight=watchedfilehandler#watchedfilehandlerEspero te sea útil. Saludos!
Camilo