La biblioteca de clientes .NET proporciona información detallada sobre errores a través de su interfaz IOperationResult. Para averiguar por qué ha fallado una operación de almacenamiento, utilice EjecutarTienda en lugar de Tienda.

var resultado = cliente.EjecutarTienda(StoreMode.Añadir, "llave", "valor");
si (! resultado.Éxito)
{
Consola.WriteLine("Operación fallida con mensaje {0} y código de estado {1}"Resultado.MensajeResultado.CódigoEstado);
}

Mientras que el IOperationResultado que se devuelve proporciona códigos de estado, excepciones capturadas y mensajes de error, hay situaciones en las que es necesario un registro detallado para diagnosticar un problema persistente.

Con la reciente versión 1.2.2 de la biblioteca de clientes .NET para Couchbase, los ensamblados de registro se incluyen por defecto tanto en el archivo Paquete Nuget y el zip con el últimos binarios. Couchbase (y su dependencia Enyim.Caching) soporta log4net y NLog logging.

Es bastante sencillo habilitar el logging con Couchbase, pero necesitas saber lo básico para configurar log4net o NLog para ponerte en marcha. Si estás empezando con Couchbase y ASP.NET, sería útil ver los detalles de logging sin tener que aprender otro framework, aunque sea mínimo. Afortunadamente, si estás usando la herramienta de diagnóstico Vislumbre en su aplicación ASP.NET, puede activar el registro con bastante facilidad.

Si no estás familiarizado con Glimpse, la analogía común es "Firebug para ASP.NET". Una vez que instalas el paquete NuGet para Glimpse y habilitas el framework, obtienes una ventana de diagnóstico en tu aplicación que te proporciona una vista de la solicitud tal y como se ejecutó en el servidor. Puedes ver tu configuración web.config, detalles de entorno, rutas, variables de servidor y varios otros aspectos de tu aplicación web en ejecución.

Nik y Anthony, creadores del proyecto de código abierto Glimpse (respaldado ahora por Redgate) han creado un potente modelo de extensibilidad. Conectarse a la interfaz de Glimpse para proporcionar detalles de instrumentación de una biblioteca es tan sencillo como implementar la función ITab (o ampliando TabBase).

La dependencia Enyim.Caching en el cliente Couchbase define ILog y ILogFactory que, una vez implementadas, pueden usarse para proporcionar un proveedor de registro personalizado para capturar detalles de la instrumentación de Couchbase. Para mi nuevo proyecto CouchbaseLabs Couchbase.Glimpse, he creado un nuevo logger que capturará logs por petición y enviará la salida a Glimpse.

Para empezar, instalar y activar Glimpse. Una vez hecho esto, instale el CouchbaseGlimpse extensión. El paquete NuGet añadirá la configuración necesaria. También puede obtener el código fuente de GitHub. Si utiliza el código fuente, deberá incluir la sección de configuración que figura a continuación.

<configuración>
<configSecciones>
<grupo de secciones nombre="enyim.com">
<sección nombre="log" tipo="Enyim.Caching.Configuration.LoggerSection, Enyim.Caching" />
>

>
<enyim.com>
<log fábrica="Couchbase.Glimpse.Logging.GlimpseLogFactory, Couchbase.Glimpse" />
>
>

Necesitarás habilitar el registro para empezar a capturar detalles del cliente. En algún lugar de tu aplicación, probablemente en Application_Start, necesitarás llamar a la función Configure método en GlimpseLogger.

var config = nuevo GlimpseLogConfiguration { IsDebugEnabled = verdadero };
GlimpseLogger.Configure(config);

Los niveles de registro son acumulativos, por lo que habilitar debug habilita todos los demás niveles. También puede capturar loggers específicos (logs por clase) añadiendo nombres de logs a la lista blanca. La siguiente configuración sólo mostrará los registros originados en la clase PooledSocket y ConfigHelper clases.

var config = nuevo GlimpseLogConfiguration { IsDebugEnabled = verdadero };
config.FuenteListaBlanca.AñadirRango(nuevo[] { "PooledSocket", "ConfigHelper" });
GlimpseLogger.Configure(config);

Una vez que hayas construido tu aplicación para incluir la nueva pestaña Couchbase en Glimpse, navega a una página donde se esté utilizando el cliente Couchbase. Deberías ver algo similar a la siguiente captura de pantalla.

Verás que cuando el cliente está arrancando por primera vez, es un poco parlanchín con los registros de depuración. Sin embargo, si tienes problemas para conectarte a tu clúster, probablemente dispongas de información valiosa, incluida la configuración del clúster (que puedes ver como JSON en la captura de pantalla anterior).

El GlimpseLogger no persiste sus registros, por lo que si necesitas capturar información de diagnóstico más allá de una solicitud, tendrás que utilizar log4net o NLog.

En Repo de GitHub contiene una copia de la aplicación de ejemplo de cerveza .NET con Glimpse activado. Clona ese repositorio y ejecuta la aplicación para hacerte una idea rápida de cómo funciona el complemento.

Autor

Publicado por John Zablocki, Desarrollador NET. Desarrollador SDK, Couchbase

John Zablocki es desarrollador de NET. SDK en Couchbase. John es también el organizador de Beantown ALT.NET y antiguo profesor adjunto en la Universidad de Fairfield. También puedes consultar el libro en Amazon llamado "Couchbase Essentials" que explica cómo instalar y configurar Couchbase Server.

Dejar una respuesta