HCOLogger 1.2.3

dotnet add package HCOLogger --version 1.2.3
                    
NuGet\Install-Package HCOLogger -Version 1.2.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="HCOLogger" Version="1.2.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="HCOLogger" Version="1.2.3" />
                    
Directory.Packages.props
<PackageReference Include="HCOLogger" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add HCOLogger --version 1.2.3
                    
#r "nuget: HCOLogger, 1.2.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package HCOLogger@1.2.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=HCOLogger&version=1.2.3
                    
Install as a Cake Addin
#tool nuget:?package=HCOLogger&version=1.2.3
                    
Install as a Cake Tool

HcoLogs: Biblioteca de Registro Universal

HcoLogs es una biblioteca de registro versátil y universal diseñada para aplicaciones .NET, compatible con una amplia gama de versiones de .NET, desde .NET Framework 4.7.2 hasta .NET 8.0. Permite a los desarrolladores enviar registros a un servicio de registro centralizado de forma fácil y eficiente.

Características

  • Compatibilidad Multi-Framework: Funciona con .NET Framework, .NET Core, y las últimas versiones de .NET.
  • Registro Asíncrono y Síncrono: Ofrece métodos de registro tanto asíncronos como síncronos para adaptarse a diferentes necesidades de la aplicación.
  • Registro Estándar e Histórico: Proporciona dos tipos de registros: un registro de información general (Log) y un registro histórico (LogH) para el seguimiento de eventos importantes y errores con información detallada como StackTrace.
  • Configuración Flexible: Permite una configuración sencilla a través de la clase LoggerOptions, donde se puede especificar la URL del punto de conexión, la base de datos, el token de cliente y otros valores predeterminados.
  • Manejo de Errores Robusto: Incluye un manejo de errores robusto para las solicitudes HTTP, con excepciones personalizadas para un mejor diagnóstico.

Instalación

Puede instalar HcoLogs a través del administrador de paquetes NuGet.

Install-Package HCOLogger

Cómo Empezar

A continuación, se muestran ejemplos de cómo utilizar la biblioteca HcoLogs en diferentes tipos de aplicaciones .NET.

Ejemplo en .NET 6 (ConsoleApp1)

Este ejemplo muestra cómo utilizar HcoLogs en una aplicación de consola .NET 6.

// Importar el espacio de nombres de HcoLogs
using HcoLogs;

// Configurar las opciones del registrador
var options = new LoggerOptions
{
    Database = "BD",
    ClientToken = "xxxxxx-xxxxxxx",
    DefaultOrigen = "my-dotnet-core-app"
};

// Crear una instancia del registrador
using (var logger = new Logger(options))
{
    // Registrar un mensaje de información de forma asíncrona
    await logger.LogAsync("Aplicación iniciada desde .NET 6", "INFO", "user123");
}

Ejemplo en .NET Framework 4.8 (ConsoleApp2)

Este ejemplo muestra cómo utilizar HcoLogs en una aplicación de consola de .NET Framework 4.8.

// Importar el espacio de nombres de HcoLogs
using HcoLogs;

// Configurar las opciones del registrador
var options = new LoggerOptions
{
    Database = "BD",
    ClientToken = "xxxxxx-xxxxxx",
    DefaultOrigen = "my-legacy-app"
};

// Crear una instancia del registrador
using (var logger = new Logger(options))
{
    // Registrar un mensaje de información de forma síncrona
    logger.Log("Proceso completado desde .NET Framework 4.8", "INFO", "admin");
}

Ejemplo en .NET 8 (ConsoleApp3)

Este ejemplo muestra un uso más avanzado de HcoLogs en una aplicación de consola .NET 8, incluyendo el registro histórico y el uso de múltiples parámetros.

// Importar el espacio de nombres de HcoLogs
using HcoLogs;

// Configurar las opciones del registrador
var options = new LoggerOptions
{
    Database = "BD",
    ClientToken = "xxxxxxx-xxxxxxx",
    DefaultCode = "AAAAAAAAAA"
};

// Crear una instancia del registrador
using (var logger = new Logger(options))
{
    // Registrar un evento histórico con todos los parámetros
    await logger.LogHAsync(
        detalle: "Aplicación iniciada v1.2.3",
        nivel: "INFO",
        usuario: "user123",
        origen: "Metodo a",
        codigoOcurrencia: 200,
        stackTrace: "es un stackTrace de ejemplo",
        versionServicio: "v2",
        parametrosEntradaId: "444",
        correlationId: "100",
        fechaHora: DateTime.Now
    );

    // Registrar un evento histórico con parámetros específicos
    await logger.LogHAsync("Aplicación iniciada", "INFO", versionServicio: "V5");

    // Registrar un evento de información con todos los parámetros
    await logger.LogAsync(
        detalle: "Aplicación iniciada desde .NET 8",
        nivel: "INFO",
        usuario: "user123",
        origen: "Metodo a",
        resultadoEsperado: "1234",
        resultadoReal: "1234",
        versionServicio: "v3",
        parametrosEntradaId: "22",
        correlationId: "101",
        fechaHora: DateTime.Now
    );
}

Opciones de Configuración (LoggerOptions)

La clase LoggerOptions le permite configurar el comportamiento del registrador.

Propiedad Descripción Valor Predeterminado
EndpointUrl La URL del servicio de registro. url_base: solicitar info al administrador
Database El nombre de la base de datos a la que se enviarán los registros. null
ClientToken El token de autenticación para el servicio de registro. null
DefaultCode Un código predeterminado para las entradas de registro. null
DefaultOrigen El origen predeterminado de las entradas de registro. "servicio-auth"
DefaultVersionServicio La versión de servicio predeterminada para las entradas de registro. null

Métodos de Registro

HcoLogs proporciona los siguientes métodos de registro:

Log y LogAsync

Estos métodos se utilizan para registrar entradas de registro estándar.

  • Log(...): Realiza una llamada de registro síncrona.
  • LogAsync(...): Realiza una llamada de registro asíncrona.

LogH y LogHAsync

Estos métodos se utilizan para registrar entradas de registro históricas, que son ideales para registrar errores y excepciones con información adicional.

  • LogH(...): Realiza una llamada de registro histórica síncrona.
  • LogHAsync(...): Realiza una llamada de registro histórica asíncrona.

Contribuciones

Las contribuciones son bienvenidas. Si desea contribuir a este proyecto, por favor, bifurque el repositorio y envíe una solicitud de extracción.

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 is compatible.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 is compatible. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 is compatible.  net48 is compatible.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.2.3 520 7/22/2025
1.2.2 512 7/22/2025
1.2.1 515 7/22/2025
1.2.0 144 7/2/2025