Proveedores de registro de telegrama para serilog y registro estándar de .NET.
¿Qué es Telegram? ¿Qué hago aquí? Telegram es una aplicación de mensajería con un enfoque en la velocidad y la seguridad, es súper rápido, simple y gratuita. Puede usar Telegram en todos sus dispositivos al mismo tiempo: sus mensajes se sincronizan sin problemas en cualquier número de teléfonos, tabletas o computadoras. Telegram tiene más de 500 millones de usuarios activos mensuales y es una de las 10 aplicaciones más descargadas del mundo.
Debido a que es muy cómodo, puede recibir mensajes importantes directamente a su teléfono inteligente o computadora portátil.
Para enviar mensajes de registro al canal de telegrama o chat, debe crear Bot de telegrama antes. Aquí puedes encontrar cómo hacerlo. Después de crear BOT, agregue al canal con el rol de administrador y permita que BOT publique mensajes.
En Telegram hay dos tipos de canales: público y privado. Para el canal público puede usar el nombre del canal como chatid en la configuración.
Para el canal privado puede usar @JSondumpbot para obtener una identificación de canal privado. Simplemente reenvíe cualquier mensaje de Channelto privado este bot. Información adicional que puede encontrar aquí.
No olvide agregar su bot como administrador con el permiso de mensajes de escritura para canalizar.
X.extensions.logging.telegram está registrando el proveedor para el registro estándar de .NET.
Puede configurar el proveedor de registro de telegrama por código o por archivo de configuración:
var options = new TelegramLoggerOptions ( LogLevel . Information )
{
AccessToken = "1234567890:AAAaaAAaa_AaAAaa-AAaAAAaAAaAaAaAAAA" ,
ChatId = "-0000000000000" ,
Source = "Human Readable Project Name"
} ;
.. .
builder
. ClearProviders ( )
. AddTelegram ( options )
. AddConsole ( ) ;
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
},
"Telegram": {
"LogLevel": {
"Default": "Error",
"WebApp.Controllers": "Warning"
},
"AccessToken": "1234567890:AAAaaAAaa_AaAAaa-AAaAAAaAAaAaAaAAAA",
"ChatId": "1234567890",
"Source": "Human Readable Project Name"
}
},
"AllowedHosts": "*"
}
y pasar el objeto de iconfiguración al método de extensiones
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureLogging((context, builder) =>
{
if (context.Configuration != null)
builder
.AddTelegram(context.Configuration)
.AddConsole();
})
.ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); });
Ahora los desarrolladores pueden usar su propia implementación para escribir datos en telegrama. El escritor personalizado debe implementar la interfaz IlogWriter :
var customLogWriter = new CustomLogWriter ( ) ;
logBuilder . AddTelegram ( options , customLogWriter ) ;Para implementar el formato de mensaje personalizado, se puede usar ItelegramMessageFormatter ahora.
private ITelegramMessageFormatter CreateFormatter ( string name )
{
return new CustomTelegramMessageFormatter ( name ) ;
}
logBuilder . AddTelegram ( options , CreateFormatter ) ;Para usar mensajes personalizados, Formatter Delegate Func <String, itelegrammessageFormatter> debe pasar al método de extensiones addtelegram. El delegado debe usarse porque Formatter necesita saber qué categoría se usa para transmitir el mensaje.
X.serilog.sinks.telegram es un fregadero de serilog de código abierto que le permite enviar eventos de registro a telegrama. Es una forma conveniente de integrar el telegrama como salida de registro, lo que le permite recibir información de registro importante directamente en su chat.
Registro en tiempo real : el fregadero ofrece la capacidad de enviar eventos de registro a un canal de telegrama en tiempo real, asegurando que pueda mantenerse actualizado con el comportamiento de su aplicación y cualquier problema a medida que surjan.
Formato personalizable : puede configurar el formato de mensajes de registro enviados al canal Telegram, lo que le permite adaptarlos a sus preferencias y requisitos específicos.
Filtrado : el fregadero admite eventos de registro de filtrado antes de que se envíen al canal Telegram, asegurando que solo se comparta información pertinente.
Envío asíncrono : los eventos de registro se envían asincrónicamente al canal Telegram, minimizando el impacto potencial en el rendimiento de su aplicación.
Configuración fácil : la configuración del fregadero para trabajar con su canal de telegrama es sencillo, y puede encontrar información completa en la wiki de configuración.
Para comenzar a usar el X.Serilog.sinks.telegram Sink, siga estos pasos:
dotnet add package X.Serilog.Sinks.Telegram Log . Logger = new LoggerConfiguration ( )
. WriteTo . TelegramCore (
token : botToken ,
chatId : loggingChatId ,
logLevel : LogEventLevel . Verbose )
. WriteTo . Console ( )
. CreateLogger ( ) ;Para obtener opciones de configuración más detalladas, consulte el wiki de configuración.
Este repositorio incluye varios proyectos de ejemplo que demuestran cómo usar ambas bibliotecas en varios escenarios. Estos ejemplos pueden ser útiles si está comenzando o está buscando usar una característica específica.
Siéntase libre de agregar cualquier mejora que desee a través de solicitudes de extracción. Todas las solicitudes de extracción deben estar vinculadas a un problema.
Este proyecto tiene licencia bajo la licencia MIT.