Bonjour,
J'ai un problème à vous soumettre:
J'ai une DLL qui écrit des logs.
Cette DLL est appelée par de multiple instance très rapidement,
ce qui fait que selon le traitement demandé et ce quelle écrit dans son log
il peut y avoir un conflit ou un écrasement des données.
En effet, la première image de la DLL peut commencer à écrire un log assez long,
alors qu'une deuxième image de la DLL peut écrire un message très court et fermer
le flux avant que la première n'est fermée son flux.
Quand la première ferme son flux, elle écrase le log de la deuxième image DLL.
Actuellement, j'utilise un TextFile avec un assignfile et un closefile,
pour écrire mon log.
Bien sur, je ne peux verrouiller le fichier pendant cette écriture, sinon plus d'écriture simultanée.
La solution que je connais serait de passer par une base transactionnelle, mais c'est lourd et actuellement
je log sur l'accès à mes bases de données, donc je perds en fonctionnalité.
Si vous avez compris mon imbroglio, je suis preneur de vos conseils.
Merci,
Partager