LogModule 1.0.18

LogModule

LogModule, Roboliza sisteminde çeşitli logları yönetmek ve izlemek için kullanılan bir loglama modülüdür. Farklı log türleri için belirlenen metodlarla, hatalar, kullanıcı hareketleri ve robot logları takip edilip uygun sistemlere iletilir. Modül, RabbitMQ ve API tabanlı loglama mekanizmalarını kullanarak logları kaydeder. LogModule içinde yer alan GlobalExceptionFilter attribute'u sayesinde, sistemde oluşan tüm istisnalar otomatik olarak yakalanır ve bu hatalar, ilgili servis loglarına kaydedilir. UserActivityAttribute bir kullanıcının sisteme gerçekleştirdiği işlemleri ve aktiviteleri izlemek için kullanılan bir özelliktir. Bu attribute, kullanıcının belirli bir eylemi gerçekleştirdiği anda, bu eylemi kaydeder ve loglar. Böylece kullanıcıların sisteme yaptığı girişler, veri güncellemeleri, sayfa görüntülemeleri ya da herhangi bir işlem gibi aktiviteleri takip edilebilir.

Log Türleri

1. SendServiceLog

SendServiceLog, Roboliza servislerinde oluşan hataları RabbitMQ aracılığıyla loglar.

  • Kullanım: Servisler arası hata iletilerini merkezi bir loglama sistemine yönlendirir.
  • Yapı: Instance tabanlı sınıf, DI (Dependency Injection) kullanır.

2. SendUserActionLog

SendUserActionLog, Roboliza platformunda kullanıcı etkileşimlerini izler ve bu bilgileri RabbitMQ ile loglar.

  • Kullanım: Kullanıcı hareketlerini izler ve bu bilgiyi loglamak için RabbitMQ'yu kullanır.
  • Yapı: Instance tabanlı sınıf, DI (Dependency Injection) kullanır.

3. SendRobotLog

SendRobotLog, robotlarla ilgili logları API üzerinden kaydeder. Robotun çalışma durumu, hata mesajları ve işlem bilgileri API'ye gönderilir.

  • Kullanım: Robotlar ile ilgili logların dış bir servise API üzerinden gönderilmesini sağlar.
  • Yapı: Instance tabanlı sınıf, DI (Dependency Injection) kullanır.

Projeye Ekleme

Windows : %appdata%\NuGet\NuGet.Config Lİnux Veya Mac : ~/.nuget/NuGet/NuGet.Config

  ...
<packageSources>
    ...
    <add key="localnuget.roboliza.com" value="http://172.16.33.42:5011/v3/index.json" protocolVersion="3" allowInsecureConnections="true" />
    <add key="nuget.roboliza.com" value="https://nuget.roboliza.com/v3/index.json" protocolVersion="3" allowInsecureConnections="true" /> 
</packageSources>

Dockerfile Dosyasına Ekleme

RUN dotnet nuget add source http://172.16.33.42:5011/v3/index.json
RUN dotnet nuget add source https://nuget.roboliza.com/v3/index.json

Log Modülünü Dahil Etme

Program.cs

public void ConfigureServices(IServiceCollection services)
{
    var serviceName = "ServiceName";
    services.AddLogModule(serviceName);  
}

Kullanım RabbitMq

  • Gereklilikler: Notification modulünü projenize doğru bir şekilde dahil edebilmek için, öncelikle RabbitMqModule modülünü projenize uygun şekilde dahil etmeniz gerekmektedir. RabbitMqModule aşağıdaki link üzerinden erişebilirsiniz: http://172.16.33.42:5011/packages/rabbitmqmodule.
// Dependency Injection ile enjekte edilen SendServiceLog ve SendUserActionLog
private readonly SendServiceLog sendServiceLog;
private readonly SendUserActionLog sendUserActionLog;

// Servis logu gönderme
sendServiceLog.{Info,Warning,Error}("Mesaj burada");

// Kullanıcı hareketleri logu gönderme
UserActionLog userActionLog = new();
sendUserActionLog.{Info,Warning,Error}(userActionLog);

Kullanım API

// Dependency Injection ile enjekte edilen SendRobotLog
private readonly SendRobotLog sendRobotLog;

// Log gönderme
var response = await sendRobotLog.AddRobotLog(BaseUrl,Token,robotLog);  

No packages depend on LogModule.

Version Downloads Last updated
1.0.29 19 09/02/2025
1.0.28 23 09/02/2025
1.0.27 7 09/02/2025
1.0.26 94 04/24/2025
1.0.25 11 04/24/2025
1.0.24 12 04/24/2025
1.0.23 260 01/16/2025
1.0.22 72 01/15/2025
1.0.21 15 01/14/2025
1.0.20 13 01/14/2025
1.0.19 107 01/13/2025
1.0.18 14 01/13/2025