Lors de phases de debug ou de problèmes sur une plateforme SharePoint, vous pouvez être amené à vouloir rechercher la source du problème dans les logs.
Cette opération peut rapidement devenir fastidieuse dans le cas de topologies multi-serveurs car il est alors nécessaire d'aller rechercher dans les fichiers de logs sur chacun des serveurs de votre ferme.
Il existe une solution basique nommée le "Developer Dashboard" (disponible uniquement sous SP2013). Cet outil des développeurs permet de récupérer les logs ULS (voir plus de détails dans un post précédent : http://rmatayron.blogspot.fr/2013/04/sharepoint-2013-developer-dashboard.html).
Cette solution implique néanmoins que le problème soit reproductible.
Pour les autres cas, une commande PowerShell permet de simplifier cette recherche : "MergeSPLog". Cette commande permet de fusionner les logs présents sur chaque serveur selon divers critères.
L'utilisation suivante permettra par exemple de sélectionner les logs du 27 août compris entre 16h00 et 16h15:
Merge-SPLogFile -Path "E:\Temp\FusionLog-20130827-1600-1615.log" -StartTime "27/08/2013 16:00:00" -EndTime "27/08/2013 16:15:00"
Cette commande peut de même être utile pour réaliser du monitoring sur votre SharePoint. Par exemple, vous pourrez tracer tous les évènements avec une haute importance détectés dans les logs:
Merge-SPLogFile -Path "E:\Temp\FusionLogHigh.log" -Overwrite -Level High
Note : Cette commande fonctionne également sur SharePoint 2010.