Serilog 및 표준 .NET 로깅을위한 Telegram Logging 제공자.
전보 란 무엇입니까? 여기서 어떻게해야하나요? Telegram은 속도와 보안에 중점을 둔 메시징 앱이며 매우 빠르고 간단하며 무료입니다. 모든 장치에서 동시에 Telegram을 사용할 수 있습니다. 여러 전화기, 태블릿 또는 컴퓨터에서 메시지가 원활하게 동기화됩니다. Telegram은 월 5 천만 명이 넘는 활성 사용자를 보유하고 있으며 세계에서 가장 많이 다운로드 된 10 개의 앱 중 하나입니다.
매우 편안하기 때문에 스마트 폰이나 노트북에 직접 중요한 메시지를받을 수 있습니다.
로그 메시지를 Telegram 채널 또는 채팅으로 보내려면 이전에 Telegram Bot을 작성해야합니다. 여기서 당신은 그것을하는 방법을 찾을 수 있습니다. 봇을 만든 후에는 봇이 관리 역할을 가진 채널에 추가하고 봇이 메시지를 게시하도록 허용합니다.
전보에는 공공 및 개인의 두 가지 유형의 채널이 있습니다. 공개 채널의 경우 구성에서 채널 이름을 ChatID 로 사용할 수 있습니다.
개인 채널의 경우 @jsondumpbot을 사용하여 개인 채널 ID를 얻을 수 있습니다. 이 봇 개인 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>(); });
이제 개발자는 자체 구현을 사용하여 Telegram에 데이터를 작성할 수 있습니다. 사용자 정의 작성자는 Ilogwriter 인터페이스를 구현해야합니다.
var customLogWriter = new CustomLogWriter ( ) ;
logBuilder . AddTelegram ( options , customLogWriter ) ;구현을 위해 사용자 정의 메시지 형식 형식 ItegrammessageFormatter를 사용할 수 있습니다.
private ITelegramMessageFormatter CreateFormatter ( string name )
{
return new CustomTelegramMessageFormatter ( name ) ;
}
logBuilder . AddTelegram ( options , CreateFormatter ) ;Custom Message Formatter Delegate Func <String을 사용하려면 IteLegramMessageFormatter>를 Extensions Method Addtelegram으로 전달해야합니다. Formatter는 메시지 렌더링에 어떤 범주가 사용되는지 알아야하므로 대의원을 사용해야합니다.
x.serilog.sinks.telegram은 오픈 소스 Serilog 싱크대로 로그 이벤트를 전보로 보낼 수 있습니다. 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 ( ) ;자세한 구성 옵션은 구성 Wiki를 참조하십시오.
이 저장소에는 다양한 시나리오에서 두 라이브러리를 사용하는 방법을 보여주는 몇 가지 예제 프로젝트가 포함되어 있습니다. 이 예제는 특정 기능을 시작하거나 사용하려는 경우 도움이 될 수 있습니다.
풀 요청을 통해 원하는 개선 사항을 자유롭게 추가하십시오. 모든 풀 요청은 문제에 연결되어야합니다.
이 프로젝트는 MIT 라이센스에 따라 라이센스가 부여됩니다.