HCOLogger 1.2.3
dotnet add package HCOLogger --version 1.2.3
NuGet\Install-Package HCOLogger -Version 1.2.3
<PackageReference Include="HCOLogger" Version="1.2.3" />
<PackageVersion Include="HCOLogger" Version="1.2.3" />
<PackageReference Include="HCOLogger" />
paket add HCOLogger --version 1.2.3
#r "nuget: HCOLogger, 1.2.3"
#:package HCOLogger@1.2.3
#addin nuget:?package=HCOLogger&version=1.2.3
#tool nuget:?package=HCOLogger&version=1.2.3
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 comoStackTrace
. - 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 | Versions 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. |
-
.NETCoreApp 2.1
- Newtonsoft.Json (>= 13.0.3)
- System.Net.Http (>= 4.3.4)
-
.NETCoreApp 3.1
- Newtonsoft.Json (>= 13.0.3)
- System.Net.Http (>= 4.3.4)
- System.Text.Json (>= 9.0.6)
-
.NETFramework 4.7.2
- Newtonsoft.Json (>= 13.0.3)
- System.Net.Http (>= 4.3.4)
-
.NETFramework 4.8
- Newtonsoft.Json (>= 13.0.3)
- System.Net.Http (>= 4.3.4)
-
.NETStandard 2.0
- Newtonsoft.Json (>= 13.0.3)
- System.Net.Http (>= 4.3.4)
- System.Text.Json (>= 9.0.6)
-
net5.0
- Newtonsoft.Json (>= 13.0.3)
- System.Net.Http (>= 4.3.4)
- System.Text.Json (>= 9.0.6)
-
net6.0
- Newtonsoft.Json (>= 13.0.3)
- System.Net.Http (>= 4.3.4)
- System.Text.Json (>= 9.0.6)
-
net8.0
- Newtonsoft.Json (>= 13.0.3)
- System.Net.Http (>= 4.3.4)
- System.Text.Json (>= 9.0.6)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.