Ensemble de scripts bash pour nettoyer les logs clients de Ryzom
Find a file
2022-10-31 23:06:07 +01:00
.gitignore Start porting of the bash scripts to a simple Python GUI 2021-11-16 22:09:39 +01:00
1analyse_new_logryzom.sh push initial 2021-11-10 22:29:54 +01:00
2split_log.sh push initial 2021-11-10 22:29:54 +01:00
3analyse_old_logryzom.sh push initial 2021-11-10 22:29:54 +01:00
main.py Use Labels as buttons on MacOS (Darwin) since normal buttons don't support relief and bg color 2021-11-26 14:53:28 +01:00
README.md Update README.md 2022-10-31 23:06:07 +01:00
sysinfo.ini push initial 2021-11-10 22:29:54 +01:00
tk_tooltip.py Start porting of the bash scripts to a simple Python GUI 2021-11-16 22:09:39 +01:00

Python version

The script uses basic python3 with no additional 3rd part libraries. The main file is main.py and the only other file it uses is tk_tooltip.py. To just run the GUI, run: python3 main.py

Mac executable

Executable for Mac can be downloaded from https://ryzom.siela1915.com/download/ryzom_log_cleaner_mac.zip (Unzip it and then right-click -> Open the executable to open)

If you want to create a binary for distribution, it seems that pyinstaller is the easiest way. Just run:

pip3 install pyinstaller pyinstaller --onefile --noconsole --clean --log-level=WARN --strip main.py tk_tooltip.py

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 : /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.