Quelle serait la meilleure méthode pour queue un fichier de clojure? Je n'ai pas rencontré d'utilitaires qui aideraient à le faire, mais des idées sur la façon de construire une appréciation! P>
merci. p>
3 Réponses :
quelque chose comme:
Vous pouvez utiliser Aucune solution pour aléatoireAccessfile code> pour rechercher directement à la fin du fichier et rechercher des chevreaks à partir de là. Pas aussi élégant et court que l'approche Dernier code>, mais pas non plus O (n) code> qui pourrait compter pour les grandes tailles de fichiers. P>
queue -f code>, cependant. Une certaine inspiration pourrait être trouvée dans jlogTailer . P>
AS Kotarak EM> indiqué, vous pouvez utiliser RandomAccessFile strong> pour chercher à la fin du fichier. Malheureusement, vous devez vous occuper / dormir pour des changements. Utilisation d'une séquence paresseuse Vous pouvez traiter les lignes "à la volée" ": p> mise à jour: p> quelque chose comme queue -f /var/log/mail.log -n 0 em>, en utilisant doseq em>, les modifications sont effectivement consommées. P> (doseq [line (tail-seq "/var/log/mail.log")] (println line))
Merci pour le pointeur! Pour une raison quelconque, cela ne semble pas agir comme prévu - les changements de fichiers semblent ne pas être détectés!
(Le programme arrête après un premier changement de fichier)
VEUILLEZ VÉRIFIER MON MISE À JOUR: [interprétation] Aussi peut-être écrire dans le fichier n'est pas "tamponné de ligne"?