Archivo de la etiqueta: Trace

Escribir en ULS con SharePoint 2010

SharePoint 2007/20010 dispone de un sistema de logs/trazar llamado Unified Logging System (ULS). Si quieres mas información sobre ULS puedes consultar este artículo de Microsoft: Introducción al registro del sistema de creación de registros unificado (ULS).

Cuando implementamos una aplicación sobre esta plataforma, es muy conveniente, registrar cualquier excepción al ULS para un futuro análisis, que nos permita evaluar y corregir el problema.

En SharePoint 2010 se implementa la clase SPDiagnosticsServiceBase, con la que podemos acceder de una forma mas cómoda que en versiones anteriores a este tipo de información, ya que cuenta con los métodos WriteEvent y WriteTrace, para ello.

El siguiente codigo muestra un ejemplo de como escribir en ULS volcando la información de una excepción capturada:

try
{
    var i = 0;
    var a = 2 / i;
}
catch (Exception ex)
{
    SPDiagnosticsService.Local.WriteTrace(0, new SPDiagnosticsCategory("Mi Categoria", TraceSeverity.Unexpected, EventSeverity.Error), TraceSeverity.Unexpected, ex.Message, ex.StackTrace);
}

En el caso que queramos volcar información al ULS sin necesidad de estar dentro de un “catch” puedes usar esto:

SPDiagnosticsService.Local.WriteTrace(0, new SPDiagnosticsCategory("Mi Categoria", TraceSeverity.Unexpected, EventSeverity.Error), TraceSeverity.Unexpected, "Mi descripcion del error", string.Empty);

Por ultimo, existe una herramienta de Microsoft, para visualizar estos archivos de logs, llamada ULS Viewer, que puedes descargar de forma gratuita desde aquí.

 

Activar Developer Dashboard en SharePoint 2010

Sharepoint 2010 incluye una nueva característica que nos permite ver las llamadas hechas por el código dentro de la misma interfaz gráfica de usuario. Esta característica es conocida como “Developer Dashboard”. Existen varios métodos para activar el ​Developer Dashboard en SharePoint 2010:

Desde la linea de comandos STSADM (activacion/desactivación/bajo demanda):

stsadm -o setproperty -pn developer-dashboard  -pv on
stsadm -o setproperty -pn developer-dashboard -pv off
stsadm -o  setproperty -pn developer-dashboard -pv OnDemand

Utilizando el PowerShell:

$svc = [Microsoft.SharePoint.Administration.SPWebService]::ContentService
$ddsetting = $svc.DeveloperDashboardSettings
$ddsetting.DisplayLevel = [Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::OnDemand
$ddsetting.Update()

O desde una aplicación:

using System;
using  Microsoft.SharePoint;
using  Microsoft.SharePoint.Administration;

namespace  Avanade.SharePoint
{
  class Program
  {
    static void Main()
    {
      SPWebService contentService =  SPWebService.ContentService;
      SPDeveloperDashboardSettings developerDashboard  =contentService.DeveloperDashboardSettings;
      developerDashboard.DisplayLevel =  SPDeveloperDashboardLevel.On;
      developerDashboard.Update();
      Console.WriteLine(“Developer Dashboard updated.”);
    }
  }
}

Para mas información sobre este objeto, pincha aqui.