Provedores de registro de telegrama para serilog e registro padrão .NET.
O que é telegrama? O que eu faço aqui? O Telegram é um aplicativo de mensagens com foco em velocidade e segurança, é super-rápido, simples e gratuito. Você pode usar o Telegram em todos os seus dispositivos ao mesmo tempo - suas mensagens sincronizam perfeitamente em qualquer número de seus telefones, tablets ou computadores. O Telegram tem mais de 500 milhões de usuários ativos mensais e é um dos 10 aplicativos mais baixados do mundo.
Porque é muito confortável - você pode receber mensagens importantes diretamente no seu smartphone ou laptop.
Para enviar mensagens de log para o canal ou bate -papo do Telegram, você precisa criar o Telegram Bot antes. Aqui você pode descobrir como fazer isso. Depois de criar o BOT, adicione -o ao canal com a função de administrador e permita que o bot publique mensagens.
No Telegram, existem dois tipos de canais: público e privado. Para o canal público, você pode usar o nome do canal como chatid na configuração.
Para canal privado, você pode usar o @JSondumpBot para obter ID de canal privado. Basta encaminhar qualquer mensagem do private canalelto este bot. Informações adicionais que você pode encontrar aqui.
Não se esqueça de adicionar seu bot como admin com a permissão de gravação de mensagens para canalizar.
X.extensions.Logging.telegram é provedor de registro para obter o log .NET padrão.
Você pode configurar o provedor de registro do Telegram por código ou por arquivo de configuração:
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": "*"
}
e aprovar o objeto de iconfiguração para o método de extensões
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>(); });
Agora, os desenvolvedores podem usar sua própria implementação para escrever dados para telegrama. O escritor personalizado deve implementar a interface ILOGWRITER :
var customLogWriter = new CustomLogWriter ( ) ;
logBuilder . AddTelegram ( options , customLogWriter ) ;Para implementar a formatação de mensagens personalizada, o ITELamMessageFormatter pode ser usado agora.
private ITelegramMessageFormatter CreateFormatter ( string name )
{
return new CustomTelegramMessageFormatter ( name ) ;
}
logBuilder . AddTelegram ( options , CreateFormatter ) ;Para usar o delegado de transmissão de mensagens personalizado Func <String, o ITELamMessageFormatter> deve ser passado para o método de extensões AddTelegram. O delegado deve ser usado porque o formatador precisa saber qual categoria é usada para renderizar a mensagem.
X.Serilog.sinks.telegram é uma pia serilog de código aberto que permite enviar eventos de log para telegrama. É uma maneira conveniente de integrar o Telegram como uma saída de log, permitindo que você receba informações importantes de log diretamente no seu bate -papo.
Registro em tempo real : o Sink oferece a capacidade de enviar eventos de log para um canal de telegrama em tempo real, garantindo que você possa se manter atualizado com o comportamento do seu aplicativo e quaisquer problemas à medida que surgirem.
Formatação personalizável : você pode configurar o formato das mensagens de log enviadas para o canal do Telegram, permitindo que você as adapte às suas preferências e requisitos específicos.
Filtragem : o coletor suporta eventos de log de filtragem antes de serem despachados para o canal do Telegram, garantindo que apenas informações pertinentes sejam compartilhadas.
Envio assíncrono : os eventos de log são enviados de forma assíncrona para o canal do Telegram, minimizando o impacto potencial no desempenho do seu aplicativo.
Configuração fácil : a configuração do coletor para trabalhar com o seu canal Telegram é direta e você pode encontrar informações abrangentes no wiki de configuração.
Para começar a usar o X.Serilog.Sinks.telegram Sink, siga estas etapas:
dotnet add package X.Serilog.Sinks.Telegram Log . Logger = new LoggerConfiguration ( )
. WriteTo . TelegramCore (
token : botToken ,
chatId : loggingChatId ,
logLevel : LogEventLevel . Verbose )
. WriteTo . Console ( )
. CreateLogger ( ) ;Para opções de configuração mais detalhadas, consulte o wiki de configuração.
Este repositório inclui vários projetos de exemplo que demonstram como usar as duas bibliotecas em vários cenários. Esses exemplos podem ser úteis se você estiver começando ou deseja usar um recurso específico.
Sinta -se à vontade para adicionar as melhorias que desejar através de solicitações de tração. Todas as solicitações de tração devem estar vinculadas a um problema.
Este projeto está licenciado sob a licença do MIT.