موفري تسجيل Telegram لـ Serilog و Tandard .NET Logging.
ما هو Telegram؟ ماذا أفعل هنا؟ Telegram هو تطبيق مراسلة مع التركيز على السرعة والأمان ، إنه فائق السرعة وبسيطة وخالية. يمكنك استخدام Telegram على جميع أجهزتك في نفس الوقت - رسائلك تزامن بسلاسة عبر أي عدد من الهواتف أو الأجهزة اللوحية أو أجهزة الكمبيوتر. تمتلك Telegram أكثر من 500 مليون مستخدم نشط شهريًا وهو واحد من أكثر 10 التطبيقات التي تم تنزيلها في العالم.
لأنه مريح للغاية - يمكنك تلقي رسائل مهمة مباشرة إلى هاتفك الذكي أو الكمبيوتر المحمول.
لإرسال رسائل السجل إلى قناة Telegram أو الدردشة ، تحتاج إلى إنشاء Telegram Bot من قبل. هنا يمكنك أن تجد كيفية القيام بذلك. بعد إنشاء روبوت أضفه إلى قناة مع دور المسؤول والسماح لـ BOT بنشر الرسائل.
في Telegram هناك نوعان من القنوات: عامة وخاصة. بالنسبة للقناة العامة ، يمكنك استخدام اسم القناة كشخص في التكوين.
بالنسبة للقناة الخاصة ، يمكنك استخدام @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": "*"
}
وتمرير كائن الأيقونات إلى طريقة الامتدادات
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>(); });
يمكن للمطورين الآن استخدام تنفيذهم الخاص لكتابة البيانات إلى Telegram. يجب على الكاتب المخصص تطبيق واجهة IlogWriter :
var customLogWriter = new CustomLogWriter ( ) ;
logBuilder . AddTelegram ( options , customLogWriter ) ;لتنفيذ تنسيق الرسائل المخصصة ، يمكن استخدام itelegrammessageformatter الآن.
private ITelegramMessageFormatter CreateFormatter ( string name )
{
return new CustomTelegramMessageFormatter ( name ) ;
}
logBuilder . AddTelegram ( options , CreateFormatter ) ;لاستخدام مخصص للرسالة التنسيقية ، يجب تمرير ايتيليجاميس. يجب استخدام المفوض لأن التنسيق يحتاج إلى معرفة الفئة المستخدمة لتقديم الرسالة.
X.Serilog.sinks.telegram عبارة عن حوض Serilog مفتوح المصدر يتيح لك إرسال أحداث السجل إلى Telegram. إنها طريقة مريحة لدمج Telegram كإخراج تسجيل ، مما يتيح لك تلقي معلومات سجل مهمة مباشرة في الدردشة الخاصة بك.
التسجيل في الوقت الفعلي : يوفر الحوض القدرة على إرسال أحداث السجل إلى قناة Telegram في الوقت الفعلي ، مما يضمن أن تتمكن من البقاء على اطلاع بسلوك التطبيق الخاص بك وأي مشكلات عند ظهورها.
التنسيق القابل للتخصيص : يمكنك تكوين تنسيق رسائل السجل المرسلة إلى قناة Telegram ، مما يتيح لك تخصيصها لتفضيلاتك ومتطلباتك المحددة.
التصفية : يدعم الحوض تصفية أحداث السجل قبل إرسالها إلى قناة Telegram ، مما يضمن مشاركة المعلومات ذات الصلة فقط.
الإرسال غير المتزامن : يتم إرسال أحداث السجل بشكل غير متزامن إلى قناة Telegram ، مما يقلل من التأثير المحتمل على أداء التطبيق الخاص بك.
تكوين سهل : تكوين الحوض للعمل مع قناة Telegram أمر واضح ومباشر ، ويمكنك العثور على معلومات شاملة في Wiki التكوين.
للبدء في استخدام 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 ( ) ;لمزيد من خيارات التكوين التفصيلية ، يرجى الرجوع إلى ويكي التكوين.
يتضمن هذا المستودع العديد من المشاريع المثال التي توضح كيفية استخدام كلا المكتبات في سيناريوهات مختلفة. يمكن أن تكون هذه الأمثلة مفيدة إذا كنت تبدأ أو تتطلع إلى استخدام ميزة معينة.
لا تتردد في إضافة أي تحسينات تريدها عبر طلبات السحب. يجب ربط جميع طلبات السحب بمشكلة.
هذا المشروع مرخص بموجب ترخيص معهد ماساتشوستس للتكنولوجيا.