Поставщики журналов телеграммы для Serilog и Standard .NET .NET .NET.
Что такое телеграмма? Что мне здесь делать? Telegram-это приложение для обмена сообщениями с акцентом на скорость и безопасность, оно супер-бывшее, простое и бесплатное. Вы можете использовать телеграмму на всех ваших устройствах одновременно - ваши сообщения легко синхронизируют по любому количеству ваших телефонов, планшетов или компьютеров. Telegram имеет более 500 миллионов ежемесячных активных пользователей и является одним из 10 самых загруженных приложений в мире.
Потому что это очень удобно - вы можете получить важные сообщения непосредственно на свой смартфон или ноутбук.
Для отправки сообщений журнала в Telegram Channel или Chat вам необходимо создать бот Telegram раньше. Здесь вы можете найти, как это сделать. После того, как вы создали бот, добавьте его в канал с роли администратора и позвольте BOT публиковать сообщения.
В Telegram есть два типа каналов: государственные и частные. Для публичного канала вы можете использовать имя канала в качестве Chatid в конфигурации.
Для частного канала вы можете использовать @jsondumpbot, чтобы получить частный идентификатор канала. Просто отправьте любое сообщение от Private Channelto этого бота. Дополнительная информация вы можете найти здесь.
Не забудьте добавить своего бота в качестве администратора с разрешением на записи сообщений в канал.
X.extensions.logging.telegram является поставщиком журнала для стандартного регистрации .NET.
Вы можете настроить поставщика журнала Telegram по коду или по файлу конфигурации:
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": "*"
}
и передавать объект Iconfiguration методам расширения
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>(); });
Теперь разработчики могут использовать свою собственную реализацию для написания данных для телеграммы. Пользовательский писатель должен реализовать интерфейс ilogwriter :
var customLogWriter = new CustomLogWriter ( ) ;
logBuilder . AddTelegram ( options , customLogWriter ) ;Для реализации пользовательского форматирования сообщений ItelegrammessAgeFormatter может использоваться сейчас.
private ITelegramMessageFormatter CreateFormatter ( string name )
{
return new CustomTelegramMessageFormatter ( name ) ;
}
logBuilder . AddTelegram ( options , CreateFormatter ) ;Для использования пользовательской формы сообщений делегируйте func <String, ItelegrammessAgeFormatter> следует передавать в метод расширений AddTelegram. Делегат должен использоваться, потому что форматт должен знать, какая категория используется для отображения сообщения.
X.serilog.sinks.telegram-это раковина Serilog с открытым исходным кодом, которая позволяет отправлять события журнала в телеграмму. Это удобный способ интеграции Telegram в качестве вывода журнала, позволяющий вам получать важную информацию о журнале непосредственно в ваш чат.
Журнализация в реальном времени : раковина предлагает возможность отправлять события журнала в канал телеграммы в режиме реального времени, гарантируя, что вы сможете быть в курсе поведения вашего приложения и любых проблем по мере их возникновения.
Настраиваемое форматирование : вы можете настроить формат сообщений журнала, отправленных в канал Telegram, позволяя вам адаптировать их к своим предпочтениям и конкретным требованиям.
Фильтрация : раковина поддерживает события журнала фильтрации, прежде чем они отправляются в канал Telegram, гарантируя, что передается лишь соответствующая информация.
Асинхронная отправка : события журнала отправляются асинхронно каналу Telegram, минимизируя потенциальное влияние на производительность вашего приложения.
Легкая конфигурация : настройка раковины для работы с вашим каналом телеграммы проста, и вы можете найти полную информацию в вики конфигурации.
Чтобы начать использовать x.serilog.sinks.telegram, выполните следующие действия:
dotnet add package X.Serilog.Sinks.Telegram Log . Logger = new LoggerConfiguration ( )
. WriteTo . TelegramCore (
token : botToken ,
chatId : loggingChatId ,
logLevel : LogEventLevel . Verbose )
. WriteTo . Console ( )
. CreateLogger ( ) ;Для получения более подробных параметров конфигурации, пожалуйста, обратитесь к конфигурации Wiki.
Этот репозиторий включает в себя несколько примеров проектов, которые демонстрируют, как использовать обе библиотеки в различных сценариях. Эти примеры могут быть полезны, если вы начинаете или хотите использовать определенную функцию.
Не стесняйтесь добавлять любые улучшения, которые вы хотите, с помощью запросов. Все запросы на притяжение должны быть связаны с проблемой.
Этот проект лицензирован по лицензии MIT.