Question
Recherche d'erreurs fichier log,fichier résultat
- HELLE
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 11 ans 3 mois #18623
par HELLE
Recherche d'erreurs fichier log,fichier résultat a été créé par HELLE
Bonsoir/bonjour,
Je me présente, Tristan, je travaille en tant que CPI dans une entreprise qui développe des logiciels RH et GF pour le monde publique, étant débutant dans le développement et dans le powershell particulièrement, je souhaiterais avoir votre aide
J'explique un peu ma problématique, en effet dans le cadre d'une recette technique de validation des setups que mes amis développeurs génèrent, je souhaite optimiser la procédure et pouvoir l'automatiser le plus possible.
Je souhaite faire une recherche de chaîne de caractère comme: \" erreur \" \"ORA-\" \" ERROR\" dans des fichiers de log se créant toujours dans le même répertoire de type:
c:\nomdulogiciel\log\serveursetupgf2014.1.02.log
c:\nomdulogiciel\log\clientsetupgf2014.1.02.log
c:\nomdulogiciel\log\serveursetupgf2014.1.03.log
c:\nomdulogiciel\log\clientsetupgf2014.1.03.log
(Les noms des logs sont jamais identiques)
Et transposer cette recherche dans un fichier résultat de type:
C:\Nomdulogiciel\log\résultat_recherche_erreurs.log
Qui contiendrait: L'erreur mais également dans quel log est présente l'erreur:
Par exemple qu'il me dise:
ORA- dans c:\nomdulogiciel\log\serveursetupgf2014.1.03.log
Pensez-vous que ce soit réalisable, avez vous déjà mis en place ce genre de script ?
En vous remerciant pour vos aides précieuses .
Cordialement Tristan
Je me présente, Tristan, je travaille en tant que CPI dans une entreprise qui développe des logiciels RH et GF pour le monde publique, étant débutant dans le développement et dans le powershell particulièrement, je souhaiterais avoir votre aide
J'explique un peu ma problématique, en effet dans le cadre d'une recette technique de validation des setups que mes amis développeurs génèrent, je souhaite optimiser la procédure et pouvoir l'automatiser le plus possible.
Je souhaite faire une recherche de chaîne de caractère comme: \" erreur \" \"ORA-\" \" ERROR\" dans des fichiers de log se créant toujours dans le même répertoire de type:
c:\nomdulogiciel\log\serveursetupgf2014.1.02.log
c:\nomdulogiciel\log\clientsetupgf2014.1.02.log
c:\nomdulogiciel\log\serveursetupgf2014.1.03.log
c:\nomdulogiciel\log\clientsetupgf2014.1.03.log
(Les noms des logs sont jamais identiques)
Et transposer cette recherche dans un fichier résultat de type:
C:\Nomdulogiciel\log\résultat_recherche_erreurs.log
Qui contiendrait: L'erreur mais également dans quel log est présente l'erreur:
Par exemple qu'il me dise:
ORA- dans c:\nomdulogiciel\log\serveursetupgf2014.1.03.log
Pensez-vous que ce soit réalisable, avez vous déjà mis en place ce genre de script ?
En vous remerciant pour vos aides précieuses .
Cordialement Tristan
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 11 ans 3 mois #18624
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Recherche d'erreurs fichier log,fichier résultat
Salut,
tristan.helle écrit:
Une piste rapido :
[code:1]
#Fonction dispo sur ce site
#New-PSCustomObjectFunction -Noun LogError -Parameters FileName,Pattern,Line -File
#Requires -version 3
Function New-LogError{
param(
[Parameter(Mandatory=$True,position=0)]
$FileName,
[Parameter(Mandatory=$True,position=1)]
$Pattern,
[Parameter(Mandatory=$True,position=2)]
$Line
)
[pscustomobject]@{
PSTypeName='LogError';
FileName=$FileName;
Pattern=$Pattern;
Line=$Line;
}
}# New-LogError
$pattern=\" erreur |ORA-| ERROR\"
$resultFileLog='C:\Nomdulogiciel\log\résultat_recherche_erreurs.log'
$PathLog='c:\nomdulogiciel\log'
dir \"$PathLog\*.log\"|
Select-string -Pattern $Pattern |
Foreach {
#todo New-LogErro x y z
}|
Export-csv $resultFile
[/code:1]
Premier point à résoudre : connaitre les répertoires des logs
Le second : construire l'objet à partir du résultat de Select-String.
le dernier : construire le fichier résultat dans un fichier .CSV.
tristan.helle écrit:
Oui.Pensez-vous que ce soit réalisable
Une piste rapido :
[code:1]
#Fonction dispo sur ce site
#New-PSCustomObjectFunction -Noun LogError -Parameters FileName,Pattern,Line -File
#Requires -version 3
Function New-LogError{
param(
[Parameter(Mandatory=$True,position=0)]
$FileName,
[Parameter(Mandatory=$True,position=1)]
$Pattern,
[Parameter(Mandatory=$True,position=2)]
$Line
)
[pscustomobject]@{
PSTypeName='LogError';
FileName=$FileName;
Pattern=$Pattern;
Line=$Line;
}
}# New-LogError
$pattern=\" erreur |ORA-| ERROR\"
$resultFileLog='C:\Nomdulogiciel\log\résultat_recherche_erreurs.log'
$PathLog='c:\nomdulogiciel\log'
dir \"$PathLog\*.log\"|
Select-string -Pattern $Pattern |
Foreach {
#todo New-LogErro x y z
}|
Export-csv $resultFile
[/code:1]
Premier point à résoudre : connaitre les répertoires des logs
Le second : construire l'objet à partir du résultat de Select-String.
le dernier : construire le fichier résultat dans un fichier .CSV.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- HELLE
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 11 ans 3 mois #18625
par HELLE
Réponse de HELLE sur le sujet Re:Recherche d'erreurs fichier log,fichier résultat
Bonsoir Laurent,
Merci beaucoup pour cette réponse , je transmettrais demain mon code pour que vous puissiez mieux comprendre ma demande , mais déjà je pense que ça va pouvoir m'aider , merci encore !
Merci beaucoup pour cette réponse , je transmettrais demain mon code pour que vous puissiez mieux comprendre ma demande , mais déjà je pense que ça va pouvoir m'aider , merci encore !
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 11 ans 3 mois #18626
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Recherche d'erreurs fichier log,fichier résultat
tristan.helle écrit:
Les questions pour ce type de pb sont relative aux spécifications, pas à l'implémentation (le code).
Le code précédent augmenté :
[code:1]
\"Tuple en erreur \" > c:\temp\x1.log
\"testerreur\"> c:\temp\x11.log
\"Transaction ORA-\" > c:\temp\x2.log
\"Tora TORA-\" > c:\temp\x22.log
\"PLSQL truc ERROR\">c:\temp\x3.log
\" ERRORRecording\">c:\temp\x31.log
$pattern=\" erreur |ORA-| ERROR\"
$resultFile='C:\temp\résultat_recherche_erreurs.csv'
$PathLog='c:\temp'
dir \"$PathLog\x*.log\"|
Select-string -Pattern $Pattern |
Foreach {
New-LogError -FileName $_.Path -Pattern $_.Matches[0].Value -Line $_.Line
}|
Export-csv $resultFile
Import-csv $resultFile
[/code:1]
Puisque ce code est lié à des regex, il te faut un jeux de test, voir demander aux dev le pattern de construction des lignes d'erreur, ou consulter la doc d'Oracle. Vérifie si tes logs sont tous dans la même culture (Fr, etc).
Je te laisse coder la v2 qui supprimerait l'usage du cmdlet Foreach
Tu peux, mais des lignes d'exemple et le résultat attendu seront plus utiles.je transmettrais demain mon code pour que vous puissiez mieux comprendre ma demande
Les questions pour ce type de pb sont relative aux spécifications, pas à l'implémentation (le code).
Le code précédent augmenté :
[code:1]
\"Tuple en erreur \" > c:\temp\x1.log
\"testerreur\"> c:\temp\x11.log
\"Transaction ORA-\" > c:\temp\x2.log
\"Tora TORA-\" > c:\temp\x22.log
\"PLSQL truc ERROR\">c:\temp\x3.log
\" ERRORRecording\">c:\temp\x31.log
$pattern=\" erreur |ORA-| ERROR\"
$resultFile='C:\temp\résultat_recherche_erreurs.csv'
$PathLog='c:\temp'
dir \"$PathLog\x*.log\"|
Select-string -Pattern $Pattern |
Foreach {
New-LogError -FileName $_.Path -Pattern $_.Matches[0].Value -Line $_.Line
}|
Export-csv $resultFile
Import-csv $resultFile
[/code:1]
Puisque ce code est lié à des regex, il te faut un jeux de test, voir demander aux dev le pattern de construction des lignes d'erreur, ou consulter la doc d'Oracle. Vérifie si tes logs sont tous dans la même culture (Fr, etc).
Je te laisse coder la v2 qui supprimerait l'usage du cmdlet Foreach
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.045 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Recherche d'erreurs fichier log,fichier résultat