Projet

Général

Profil

Log4Posh

La journalisation d'évènements relatifs à l'exécution d'un script est assez sommaire sous PowerShell, chaque scripteur devant coder sa propre gestion de log.

Le Framework Log4NET (version 1.2.10) permet la création d'évènements hiérarchisés pouvant être émis vers une ou plusieurs destinations (console, fichier, eventlog, mail, SGBD...). En cas d'erreur lors de l'exécution d'un script PowerShell, cet historique pourra nous aider à retrouver l'origine d'un problème plus rapidement.

Les scripts de ce Wrapper :

Un exemple :

#Demo1.ps1
#Initialisation du framework et configuration par défaut
.\InitializeLG4N.ps1 
 #Crée un logger, il utilise l'appender créé lors de la configuration du Framework Log4net 
$Log = Get-LogLogger "MonLog" 

 #Configuration par défaut du framework avec un Appender console 
Set-LogBasicConfigurator -Default
 #Log sur la console
$Log.Info("TestMessage1")
#Et c'est tout ! 
#Le système de log est actif

 #Affiche les appenders du logger Root, ici un seul mais qui n'est pas nommé
(Get-LogRootLogger -Default).Appenders|Ft Name, @{Label="Type";Expression={$_.GetType().Name}}

 # !!!!!!!!!!!!!  configuration par défaut avec un Appender spécifique !!!!!!!!!!!!!

$Pattern = "%date{dd-MM-yyyy } [%thread] %-5level [%x] - %message%newline" 
 #Configure le framework avec l'appender précédemment créé dans le pipeline
 #ATTENTION : On doit impérativement activer les 'options' de l'appender avant de l'utiliser 
New-LogConsoleAppender $Pattern "Test" -Activate|Set-LogBasicConfigurator

 #Ou bien on précise le segment où on active l'appender
#New-LogConsoleAppender $Pattern "Test"|....|Enable-LogAppender|Set-LogBasicConfigurator

 #Notre logger reste actif mais l'appender a été modifié.
 #Ici seule la chaîne de formatage différe   
$Log.Info("TestMessage2");

 #Affiche les appenders du logger Root, ici un seul nommé "Test" 
(Get-LogRootLogger -Default).Appenders|Ft Name, @{Label="Type";Expression={$_.GetType().Name}}

 #On quitte et finalise proprement le framework 
Stop-Log

 #Test localisation
$Appender=New-LogFileAppender 
#Exception !! 


Notez que l'usage de fichier de configuration .config est le plus usité sous dotnet. Cette suite de scripts vous permettra d'appréhender l'usage et le fonctionnement de base de ce framework de log.

Vous trouverez le détail de l'utilisation de Log4NEt sous PowerShell dans le tutoriel suivant :
Gestion de logs sous PowerShell à l’aide du Framework Log4Net