ryzom_log_cleaner/README.md
2021-11-10 21:35:46 +00:00

3 KiB

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.