ryzom_log_cleaner/README.md
2021-11-10 22:29:54 +01:00

66 lines
2.9 KiB
Markdown

# 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.