Important
Extraction chaine de caractères d'un fichier log
- boutou
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 36
- Remerciements reçus 0
il y a 13 ans 9 mois #12525
par boutou
Bonjour à tous et merci à ce forum d'exister
Je suis un petit nouveau dans PS et j'aurai besoin de vos lumières.
Je souhaite extraire une partie de chaine de caractère d'un .log (defini deja dans une varaible qui a filtrer certains logs) commençant par \":\" et ensuite pouvoir faire un tri la-dessus ainsi qu'un count. J'ai essayé de faire un split mais celui-ci ne fonctionne pas.
Donc pour résumer :
J'ai filtrer des logs (en erreur) et la dessus je veux filtrer pour garder seulement la fin du log à partir du caractère \":\" puis faire un tri selon mots clés et un count.
Voilà j'ai tout dis, j'espère trouver de l'aide.
Merci à tous.
Extraction chaine de caractères d'un fichier log a été créé par boutou
Bonjour à tous et merci à ce forum d'exister
Je suis un petit nouveau dans PS et j'aurai besoin de vos lumières.
Je souhaite extraire une partie de chaine de caractère d'un .log (defini deja dans une varaible qui a filtrer certains logs) commençant par \":\" et ensuite pouvoir faire un tri la-dessus ainsi qu'un count. J'ai essayé de faire un split mais celui-ci ne fonctionne pas.
Donc pour résumer :
J'ai filtrer des logs (en erreur) et la dessus je veux filtrer pour garder seulement la fin du log à partir du caractère \":\" puis faire un tri selon mots clés et un count.
Voilà j'ai tout dis, j'espère trouver de l'aide.
Merci à tous.
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 69
il y a 13 ans 9 mois #12527
par xyz
Tutoriels PowerShell
Réponse de xyz sur le sujet Re:Extraction chaine de caractères d'un fichier log
Salut,
boutou écrit:
boutou écrit:
Là tu vas trouver de l'aide
boutou écrit:
Presque.Voilà j'ai tout dis
boutou écrit:
Déjà aide nous à t'aider en nous donnant ne serait-ce qu'un exemple d'une ligne à garder et un autre d'une ligne à ne pas garder.j'espère trouver de l'aide.
Là tu vas trouver de l'aide
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- boutou
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 36
- Remerciements reçus 0
il y a 13 ans 9 mois #12529
par boutou
Réponse de boutou sur le sujet Re:Extraction chaine de caractères d'un fichier log
Bonjour Laurent,
Donc en fait je me connecte sur un serveur pour recupérer les logs d'un soft (le path est defini en variable)
Ensuite sur ce fichier de log, je filtre lignes qui sont du type 2012-07-09 .....
Ceux qui sont en error sont definis ainsi : 2012-07-09 ..... error1 error2 .....error3:\"type d'erreur \"(jamais + que 3)
Je ne suis plus au travail donc je ne peux pas te donner exactement les messages mais la syntaxe est ainsi.
donc j'arrive a récupérer toutes les lignes d'erreur ($error) mais après je veux filtrer sur error3: avec un count et un filtre par type d'erreur (par mot clé)en mettant un délimiteur sur le \":\"
J'espère avoir été clair, c'est pas évident sans avoir de logs sous les yeux.
Merci pour ton aide en tous cas
Donc en fait je me connecte sur un serveur pour recupérer les logs d'un soft (le path est defini en variable)
Ensuite sur ce fichier de log, je filtre lignes qui sont du type 2012-07-09 .....
Ceux qui sont en error sont definis ainsi : 2012-07-09 ..... error1 error2 .....error3:\"type d'erreur \"(jamais + que 3)
Je ne suis plus au travail donc je ne peux pas te donner exactement les messages mais la syntaxe est ainsi.
donc j'arrive a récupérer toutes les lignes d'erreur ($error) mais après je veux filtrer sur error3: avec un count et un filtre par type d'erreur (par mot clé)en mettant un délimiteur sur le \":\"
J'espère avoir été clair, c'est pas évident sans avoir de logs sous les yeux.
Merci pour ton aide en tous cas
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 69
il y a 13 ans 9 mois #12531
par xyz
Tutoriels PowerShell
Réponse de xyz sur le sujet Re:Extraction chaine de caractères d'un fichier log
boutou écrit:

Communiques-nous un exemple extrait de fichier de log.
Pour l'instant je n'ai encore rien faitMerci pour ton aide en tous cas
Communiques-nous un exemple extrait de fichier de log.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- boutou
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 36
- Remerciements reçus 0
il y a 13 ans 9 mois #12532
par boutou
Réponse de boutou sur le sujet Re:Extraction chaine de caractères d'un fichier log
Salut Laurent, ça tombre bien je suis au travail...
Voilà un extrait d'une ligne de log à récupérer:
2012-07-06 18:53:07,289 [35] ERROR Error processing message #56635366: TVS.Mupe.MapiException: MAPI error: 0x8004011B (cela sur la même ligne)
Par contre j'ai d'autres lignes en error que je veux extraire mais sont du type :
2012-07-06 18:53:07,289 [35] ERROR Error processing message #56635366:
TVS.Mupe.MapiException: MAPI error: 0x8004011B (sur une seconde ligne cette fois-ci)
Donc je souhaiterais extraire dans un nouveau fichier ce qui apparait après #56635366 dans les 2 cas (que ce soit sur la même ligne ou non)
Voilà un extrait d'une ligne de log à récupérer:
2012-07-06 18:53:07,289 [35] ERROR Error processing message #56635366: TVS.Mupe.MapiException: MAPI error: 0x8004011B (cela sur la même ligne)
Par contre j'ai d'autres lignes en error que je veux extraire mais sont du type :
2012-07-06 18:53:07,289 [35] ERROR Error processing message #56635366:
TVS.Mupe.MapiException: MAPI error: 0x8004011B (sur une seconde ligne cette fois-ci)
Donc je souhaiterais extraire dans un nouveau fichier ce qui apparait après #56635366 dans les 2 cas (que ce soit sur la même ligne ou non)
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 69
il y a 13 ans 9 mois #12541
par xyz
Tutoriels PowerShell
Réponse de xyz sur le sujet Re:Extraction chaine de caractères d'un fichier log
Une ébauche, car je crains que ma regex soit 'tombé en marche' :
[code:1]
@\"
2012-07-06 18:53:07,289 [35] ERROR Error processing message #56635366: TVS.Mupe.MapiException: MAPI error: 0x8004011A
2012-07-06 18:53:07,289 [35] Success
2012-07-06 18:53:07,289 [35] ERROR Error processing message #56635366:
TVS.Mupe.MapiException: MAPI error: 0x8004011B
2012-07-06 18:53:07,289 [35] Success
#commentaire
2012-07-06 18:53:07,289 [35] ERROR Error processing message #56635366: TVS.Mupe.MapiException: MAPI error: 0x8004011C
2012-07-06 18:53:07,289 [35] ERROR Error processing message #56635366:
TVS.Mupe.MapiException: MAPI error: 0x8004011D
Not matches
Erreur : 0x8004011B
2012-07-06 18:53:07,289 [35] ERROR Error processing message #56635366:
fin
\"@ > c:\temp\log.txt
$T=[io.file]::ReadAllText('c:\temp\log.txt')
$regex=[regex]$regex='(?im-s)^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2},\d{3} \[\d{1,}] ERROR Error processing message #\d{1,}:\s+(?<ErrorText>(.*?)0x.*)$'
$m = $regex.match($T)
$Resultat=while ($m.Success) {
$m.Groups.Value
$m = $m.NextMatch()
}
$Resultat
#TVS.Mupe.MapiException: MAPI error: 0x8004011A
#TVS.Mupe.MapiException: MAPI error: 0x8004011B
#TVS.Mupe.MapiException: MAPI error: 0x8004011C
#TVS.Mupe.MapiException: MAPI error: 0x8004011D
[/code:1]
La difficulté est sur la recherche multiline, qui n'est pas mon fort.
A tester, à tester et à retester
<br><br>Message édité par: Laurent Dardenne, à: 14/08/12 15:46
[code:1]
@\"
2012-07-06 18:53:07,289 [35] ERROR Error processing message #56635366: TVS.Mupe.MapiException: MAPI error: 0x8004011A
2012-07-06 18:53:07,289 [35] Success
2012-07-06 18:53:07,289 [35] ERROR Error processing message #56635366:
TVS.Mupe.MapiException: MAPI error: 0x8004011B
2012-07-06 18:53:07,289 [35] Success
#commentaire
2012-07-06 18:53:07,289 [35] ERROR Error processing message #56635366: TVS.Mupe.MapiException: MAPI error: 0x8004011C
2012-07-06 18:53:07,289 [35] ERROR Error processing message #56635366:
TVS.Mupe.MapiException: MAPI error: 0x8004011D
Not matches
Erreur : 0x8004011B
2012-07-06 18:53:07,289 [35] ERROR Error processing message #56635366:
fin
\"@ > c:\temp\log.txt
$T=[io.file]::ReadAllText('c:\temp\log.txt')
$regex=[regex]$regex='(?im-s)^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2},\d{3} \[\d{1,}] ERROR Error processing message #\d{1,}:\s+(?<ErrorText>(.*?)0x.*)$'
$m = $regex.match($T)
$Resultat=while ($m.Success) {
$m.Groups.Value
$m = $m.NextMatch()
}
$Resultat
#TVS.Mupe.MapiException: MAPI error: 0x8004011A
#TVS.Mupe.MapiException: MAPI error: 0x8004011B
#TVS.Mupe.MapiException: MAPI error: 0x8004011C
#TVS.Mupe.MapiException: MAPI error: 0x8004011D
[/code:1]
La difficulté est sur la recherche multiline, qui n'est pas mon fort.
A tester, à tester et à retester
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.041 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Extraction chaine de caractères d'un fichier log