J'essaie de créer un service démon en python avec log to file opption en utilisant la journalisation. Si j'ajoute le paramètre pidfile au constructeur daemon.DaemonContext, le consignateur n'enregistre aucun message dans le fichier logger.log. Mais si je supprime ce paramètre, tout fonctionne. s'exécute sans aucune erreur. Quelqu'un peut-il savoir pourquoi le paramètre pidfile dans daemon.DaemonContext désactive les messages du journal? et comment puis-je résoudre cela?Définir pidfile dans DaemonContext Désactiver le logger dans python
Toute aide sera appréciée. Merci
import signal
import daemon
import lockfile
import logging
import logging.handlers
def run():
logger = logging.getLogger("DaemonLog")
logger.setLevel(logging.INFO)
handler = logging.FileHandler('logger.log')
handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s"))
logger.addHandler(handler)
daemon_context = daemon.DaemonContext(
working_directory='/opt/myDaemon',
umask=0o002,
pidfile=lockfile.FileLock('/var/run/myDaemon.pid'),
files_preserve=[handler.stream]
)
daemon_context.signal_map = {
signal.SIGTERM: terminate_collector,
signal.SIGHUP: terminate_collector,
signal.SIGABRT: terminate_collector
}
with daemon_context as context:
while True:
logger.info("log")
func()
time.sleep(PARAM_SLEEP)
if __name__ == "__main__":
run()