Question [Module] EZLog: création facile de fichiers de log

Plus d'informations
il y a 7 ans 1 mois #23308 par Arnaud Petitjean
Bonjour !

Besoin d'une fonction simple pour créer des fichiers de logs bien structurés et joliment formatés ?

Ne cherchez plus, le module EZLog est fait pour vous. Celui-ci regroupe seulement deux commandes : Write-EZLog et ConvertFrom-EZLog.

La première commande permet la génération d'un fichier de logs et la seconde permet de faciliter la recherche de données dans un fichier en convertissant un log en un objet.

Avec EZLog, contrairement à d'autres systèmes de logs plus évolués, pas besoin d'étudier la doc pendant des heures pour savoir s'en servir. Vous installez le module et hop c'est parti !

Depuis PowerShell 5 vous pouvez installer le module EZLog à partir de la PowerShell Gallery grâce à la commande suivante :

[code:1]
Find-Module EZLog | Install-Module [/code:1]

Plus d'informations ici:
- Repo GitHub EZLog
- PowerShell Gallery

N'hésitez pas à en discuter dans ce forum, car c'est moi qui le développe :).
Toute critique constructive sera la bienvenue. Et uniquement les constructives !! :laugh:

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 ans 1 mois #23317 par Laurent Dardenne
Salut,

premier test :
[code:1]
$m=ipmo ezlog -pass
Write-EZLog -Category WAR -Message \"Test\"

Write-EZLog : Cannot bind argument to parameter 'Path' because it is null.
At line:1 char:1
+ Write-EZLog -Category WAR -Message \"Test\"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (:«») [Write-EZLog], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Write-EZLog
[/code:1]
Arnaud écrit:

Et uniquement les constructives !!

Les globales c'est mal :P
[code:1]
Add-Content -Path $Global:EZLogFile -Value $Message
[/code:1]
Ceci n'autorise donc qu'un seul fichier de log par instance de runspace et tout traitement écrira dedans.
Arnaud écrit:

pas besoin d'étudier la doc pendant des heures pour savoir s'en servir.

Certes, mais les possibilités offertes par les framework de log ne sont pas les mêmes.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 ans 1 mois #23319 par Laurent Dardenne
Allez une autre pour la route :
[code:1]
IPMO EZlog
Write-EZLog -Category WAR -Message \"Test\" -LogFile c:\temp
\log1.txt
Write-EZLog : Parameter set cannot be resolved using the specified named parameters.
At line:1 char:1
+ Write-EZLog -Category WAR -Message \"Test\" -LogFile c:\temp\log1.txt
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:«») [Write-EZLog], ParameterBindingException
+ FullyQualifiedErrorId : AmbiguousParameterSet,Write-EZLog
[/code:1]
Alors effectivement il faut faire un premier appel à Write-EZlog pour initialiser les logs.

Un cmdlet dédié serait préférable, Initalize -EZLog

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 ans 1 mois #23320 par Laurent Dardenne
[code:1]
Write-EZLog -LogFile c:\temp\log1.txt -Header

Write-EZLog -Category WAR -Message \"Test\"
Write-EZLog -Category WAR -Message \"Test\"

ConvertFrom-EZlog -FilePath c:\temp\log1.txt
ConvertFrom-EZlog : Cannot convert value \"64 bits\" to type \"System.DateTime\". Error: \"La chaîne n'a pas été reconnue
comme DateTime valide. Il existe un mot inconnu commençant à l'index 3.\"
At line:1 char:1
+ ConvertFrom-EZlog -FilePath c:\temp\log1.txt
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:«») [ConvertFrom-EZlog], RuntimeException
+ FullyQualifiedErrorId : InvalidCastParseTargetInvocationWithFormatProvider,ConvertFrom-EZlog
[/code:1]
Le fichier de log :
[code:1]type $EZLogFile
+
+
Script fullname :
When generated : 2017-03-15 16:34:19
Current user : ****
Current computer : *****
Operating System : Microsoft Windows 7 Édition Intégrale N
OS Architecture : 64 bits
+
+

2017-03-15 16:34:30; WAR; Test
2017-03-15 16:34:32; WAR; Test[/code:1]

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 ans 1 mois #23321 par Laurent Dardenne
un petit oubli :
[code:1]
Write-EZLog -LogFile c:\temp\log2.txt
[/code:1]
Ceci me demande la saisie de -Header qui est un switch, un switch obligatoire n'a que peu d'intérêt.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.075 secondes
Propulsé par Kunena