# Gestion des logs Ensemble de scripts bash pour nettoyer les logs clients de Ryzom ## Analyse New log Pour analyser les logs d'après 2012/2013, par là. Fonctionnement idéal : `/usr/bin/bash ./1analyse_new_logryzom.sh fichier_entrée fichier_sortie` Par exemple : `./1analyse_new_logryzom.sh log_zatalyz.txt log_zatalye_alentours.txt` Liste des canaux, si on veut filtrer autrement : - SAY : alentours - SAY/EMT : emotes - SAY/BBL : messages de PNJ - SAY/SHOUT : cris - UNIVERSE : Univers - REGION : comme indiqué - SYSTEM : messages systèmes - SYSTEM/BC : Broadcast (annonces des administrateurs) - SYSTEM/AROUND : messages en alentours qui ne sont pas dit par des homins (genre "bienvenue sur ryzom) - SYSTEM/ZON : Endroit où le personnage se trouve (affiché lors des changements de zone) - SYSTEM/SPLM : Combat ? - SYSTEM/SPL : Combat aussi - SYSTEM/CHK : Check du système - SYSTEM/ITM : gestion des items (type achat de TP) - SYSTEM/DG : dégâts - SYSTEM/DMG : Dommages - SYSTEM/MIS : parade/esquive - SYSTEM/ISE : Effets de type vedice etc - SYSTEM/PVPTM : infos autour du pvp - SYSTEM/TSK : informations à propos des missions - SYSTEM/XP : expérience gagnée - SYSTEM/THM : encyclopédie - GUILD/MTD : Mot du jour de la Guilde - GUILD : Messages en guilde - DYN0, DYN1, DYN3, etc : canaux dynamiques. Le canal de langue est souvent sur DYN0 - TELL : messages privés - TEAM : messages en équipe ## Analyse Old Log Pour les logs d'avant le changement de système (donc avant 2013, je crois). Il FAUT un fichier sysinfo.ini, qui contient toutes les expressions régulières à filtrer (tout ce qui est dans le sys.infos). C'était plus lourd. Les canaux sont gardés selon un code couleur. À documenter, un jour, peut-être, ou pas : ça se retrouve en regardant les logs. ## Splitlog Ce script sépare les logs en 1 fichier de log par jour. Il est prévu pour les logs du jeu Ryzom mais peut s'adapter à d'autres types de log (virer "pseudo !") Mettre tous les logs en vrac dans le même dossier que le script, et lancer la moulinette. La bonne commande à passer est `cmd ./dossiersource ./dossier final [nomperso]` Sans argument des variables par défaut seront utilisées. Le nom du perso peut être déduit des logs Exemple : `./split_log.sh ./logbrut/zatalyz/ ./final john` => les fichiers seront traités depuis ./logbrut/zatalyz/, et mis dans le dossier ./final sous le nom de log_john_année_mois_jour.txt sans préciser "john", le nom des logs sera probablement celui de zatalyz, si les fichiers d'origine sont bien formatés comme log_zatalyz.txt ou log_zatalyz_*.txt Le script range aussi les logs. Attention ! Il laisse quelques fichiers dans le dossier courant. Gardez les logs originaux, dans quelques cas les lignes ne sont pas analysées correctement (cas des retours à la ligne comme dans les poèmes : la ligne ne commence plus par une date). ## Crédits et licence Auteur : Zatalyz. Tout est sous licence CC0, c'est de l'assemblage de bons conseils et de tests, rien de transcendant. Plus de détail dans chaque script.