Skip to content

Add multiple ligne processing.

Skid requested to merge skid9000/vilain:skid9000-master-patch-26342 into master

Hello,

petit PR pour ajouter du traitement de logs "multi-lignes". Cela résout #4

J'ai profité pour renommer aussi quelques variables pour aider à la lecture du code.

Ainsi dans la configuration, un plusieurs nouveaux paramètres :

  • format : ce paramètre pourra être single ou multiple, même si en réalité, le script vérifie juste si y a multiple, sinon il fallback sur single
  • regexopen : regex qui servira a catch les ouvertures de connexion avec l'id de session et l'ip
  • regexfail : regex qui servira a catch la condition d'erreur avec l'id de session
  • regexclose : regex qui servira a catch les fermetures de connexion

Ce qui se passe est que : Un guard en single va utiliser le paramètre regex normal comme avant. Un guard en multiple va utiliser les 3 nouveaux paramètres et ne va PAS utiliser le paramètre "regex".

Dans le cas d'un guard en multiple, chaque ligne va être passé dans les 3 regex pour vérifier si ça match une des 3 conditions. Si c'est une ouverture de connexion, le script va mettre l'id de session et l'ip dans un tableau et s'en tenir là. Si c'est la condition d'erreur, le script va chercher l'id de session dans le tableau et si il existe, il va prendre l'ip associer pour définir bad_ip. Si c'est une fermeture de connexion, le script va supprimer l'id de session et l'ip associée du tableau.

Merge request reports