Factorizer/Cluster ERP WikiCluster ERP English
Ana sayfa / İş modülleri

Modül

Logs modülü (logs)

İstek etkinlik günlüğünün, hata günlüğünün ve kalıcı değişiklik geçmişinin okuma tarafını ve istemci hata bildirimini sağlayan logs modülü sayfası.

src/cluster_erp/modules/logs/ içindeki logs modülü, sistemde olanların üç kaydına okuma erişimi verir: istek etkinlik günlüğü, hata günlüğü ve kalıcı değişiklik geçmişi. Etkinlik ve hata günlüklerini sunucu ara katmanı, değişiklik geçmişini çekirdek değişiklik geçmişi kancası yazar. Modülün kendisi bir okuma API'si, istemci hata bildirimleri için bir yazma ucu, ekranlar için metadata ve gizlilik işleyicileri ekler. Değişiklik geçmişinin nasıl yazıldığı değişiklik geçmişi sayfasındadır.

Bir bakışta

Öğe Değer Kaynak
Paket src/cluster_erp/modules/logs/ klasör
Modül sınıfı Module src/cluster_erp/modules/logs/module.py:15
name / version logs / 0.1.0 src/cluster_erp/modules/logs/module.py:16-22
API öneki /api/v1/logs (ModuleBase.api_prefix) src/cluster_erp/core/module_base.py:37-38, src/cluster_erp/modules/logs/module.py:31-44
Alt modüller Kaynağı olan 3: activity_log, error_log, change_history; deleted_records klasörü bu commit'te Python kaynağı tutmaz klasör listesi
Tablolar 2: activity_log, error_log; değişiklik geçmişi tablosu core_change_history çekirdeğe aittir iki models.py dosyasındaki __tablename__, src/cluster_erp/core/change_history.py
Metadata'daki varlıklar entities içinde 3 anahtar src/cluster_erp/modules/logs/module.py:124-130
Uçlar Pakette 9 uç dekoratörü @...router.get/post/put/patch/delete için grep
Aksiyonlar 0 ActionMeta girdisi pakette grep "ActionMeta("
Göçler 6 dosya metni iki tablo adından birini içeren migrations/versions/ dosyaları
Sözleşmeler 2 tüketir, 0 üretir "Olaylar ve sorgular" bölümüne bakın
Web uygulamasında varlık settings sistem katalog uygulamasının parçası (auth ve logs modülleri) src/cluster_erp/modules/app_store/catalog.json (settings girdisi)
Masaüstünde varlık src/cluster_erp/desktop/modules/logs/ (activity_log_view.py, error_log_view.py) klasör

Modül ne yapar

  • Etkinlik günlüğü satırlarını listeler ve okur: kim hangi yöntem ve yolu çağırdı, durum kodu, süre ve dokunulan kayıt (src/cluster_erp/modules/logs/activity_log/models.py:15-96, src/cluster_erp/modules/logs/activity_log/routes.py:18-68).
  • Hata günlüğü satırlarını kimliğe veya iz kimliğine göre listeler ve okur (src/cluster_erp/modules/logs/error_log/routes.py:47-105).
  • Web ve masaüstü istemcilerinden gelen çökme raporlarını kaydeder (src/cluster_erp/modules/logs/error_log/routes.py:22-44).
  • Tasarım gereği salt okunur olan değişiklik geçmişini listeler ve okur (src/cluster_erp/modules/logs/change_history/routes.py:18-85).

Alt modüller

Alt modül Amaç Ana varlıklar Yönlendirici Kaynak
activity_log İstek etkinlik günlüğü ActivityLog /activities src/cluster_erp/modules/logs/activity_log/routes.py:18
error_log Sunucu ve istemci hataları ErrorLog /errors src/cluster_erp/modules/logs/error_log/routes.py:19
change_history core_change_history üzerinde okuma görünümü ChangeHistory (çekirdek model) /change-history src/cluster_erp/modules/logs/change_history/routes.py:18-19

Veri modeli

Varlık Tablo Ana alanlar Notlar Kaynak
ActivityLog activity_log actor_id, actor_username, method, path, status_code, duration_ms, ip, user_agent, module, entity_type, entity_id, entity_name, request_body_summary, summary, trace_id, occurred_at düz Base, ULID kimlik; yumuşak silme sütunu yok src/cluster_erp/modules/logs/activity_log/models.py:15-96
ErrorLog error_log trace_id, error_code, error_message, http_status, actor_id, actor_username, method, path, request_body_summary, ip, user_agent, stack_trace, exception_type, error_details, occurred_at düz Base src/cluster_erp/modules/logs/error_log/models.py:15-92

Etkinlik ara katmanı başarılı bir POST, PUT veya PATCH ile tek bir kaydın GET isteği için bir ActivityLog satırı; hata ayrıntısı taşıyan 400 ve üzeri bir yanıt için bir ErrorLog satırı yazar (src/cluster_erp/server/middleware.py:580-582, src/cluster_erp/server/middleware.py:619-660). İstek gövdeleri, operatör ayarları altında hassas anahtarlar çıkarılarak özetlenir (src/cluster_erp/server/middleware.py:65-66, src/cluster_erp/server/middleware.py:135). Ara katman istek hattı ve ara katman sayfasında anlatılır.

Ekranlar ve metadata

get_metadata, iki özel bölümle Sistem Günlükleri (İngilizce System Logs) kenar çubuğu grubunu tanımlar: Etkinlik Günlüğü (activity_log_view) ve Hata Günlüğü (error_log_view) (src/cluster_erp/modules/logs/module.py:84-123). change_history varlığı kalıcı değişiklik deposudur; kod yorumu onu eski silme kasasının yerine geçen yapı olarak adlandırır (src/cluster_erp/modules/logs/module.py:124-130). Web ayarlar ekranı devre dışı kayıtları bu geçmişten listeler; bkz. kayıtlar, belgeler, görüntüleyici ve paylaşım. Masaüstü görünümleri masaüstü modül ekranları sayfasında anlatılır.

Durum ve aksiyonlar

Modülün durumları yoktur ve hiçbir ActionMeta tanımlamaz. Değişiklik geçmişinin oluşturma, güncelleme veya silme ucu yoktur (src/cluster_erp/modules/logs/change_history/routes.py:18-19).

İş kuralları

  • Değişiklik geçmişi listesi arama metni, varlık türü, tablo, aksiyon, işlemi yapan ve tarih aralığına göre, 1 ile 500 arası sayfa boyutuyla süzer. İşlemi yapanların kullanıcı adları gösterim için çözülür (src/cluster_erp/modules/logs/change_history/routes.py:29-62, src/cluster_erp/modules/logs/change_history/services.py:26-111).
  • GET /change-history/tables, ayrı tablo adlarını tam bir DISTINCT yerine gevşek bir indeks taramasıyla listeler (src/cluster_erp/modules/logs/change_history/services.py:113-139).
  • POST /errors/client, oturum açmış her kullanıcıdan rapor kabul eder ve kullanıcıyı, istemci adresini ve User-Agent başlığını kaydeder (src/cluster_erp/modules/logs/error_log/routes.py:22-44).
  • Etkinlik ve hata günlüğü satırları, activity_log_retention_days (varsayılan 90) ve error_log_retention_days (varsayılan 365) sonrasında günlük bir geçişle yaşlanıp çıkar (src/cluster_erp/config/settings.py:638-639, src/cluster_erp/server/app.py:1267-1290). Bkz. ayarlar başvurusu.

Olaylar ve sorgular

Modül 2 sözleşme tüketir ve hiç üretmez; sayım fleet modülü sayfasındaki gibi yapılmıştır.

Yön Sözleşme sınıfı İşleyici veya yayıcı Kaynak
abone olur CollectSubjectData, AnonymiseSubject privacy_handlers.py src/cluster_erp/modules/logs/module.py:46-62

Tam liste sözleşmeler başvurusunda yer alır.

İzinler

İzin anahtarı Kullanan Kaynak
activity_log.read etkinlik günlüğü src/cluster_erp/modules/logs/activity_log/routes.py:33, src/cluster_erp/modules/logs/activity_log/routes.py:61
error_log.read hata günlüğü okumaları src/cluster_erp/modules/logs/error_log/routes.py:58-98
change_history.read değişiklik geçmişi src/cluster_erp/modules/logs/change_history/routes.py:40-77

POST /errors/client oturum açmış bir kullanıcı ister, izin anahtarı istemez (src/cluster_erp/modules/logs/error_log/routes.py:22-28).

Gizlilik, saklama ve geçmiş

privacy_handlers.py, bir kişi hakkındaki günlük satırlarının sayılarını ve zaman aralığını bildirir. Anonimleştirme, kişinin yaptığı veya kişi hakkındaki satırlardan kullanıcı adını, kayıt adlarını ve gövde özetlerini çıkarır; satırlar günlük saklama penceresi bitene kadar küçültülmüş olarak kalır (src/cluster_erp/modules/logs/privacy_handlers.py:1-9). Bkz. gizlilik ve ilgili kişi talepleri. Değişiklik geçmişinin temizliği records modülü sayfasındadır.

Analitik olgular

Bu modülde analytics_facts.py yoktur.

Ayarlar ve referans verileri

Modülün ayar bölümü yoktur. activity_log_retention_days ve error_log_retention_days günlük ayarları sunucu ayarlarıdır (src/cluster_erp/config/settings.py:638-639).

Testler

Ada göre ve tests/*.py içinde change_history ve log için grep ile bulundu.

Tür Dosya Kapsar
e2e web-client/_e2e_logs_profile.mjs günlük ekranları
pytest tests/test_change_history_redaction.py, tests/test_change_history_tables_live.py değişiklik geçmişi karartma ve tablo listesi
pytest tests/test_log_sanitizer.py gövde özeti temizleme

Tutarsızlıklar

Tanıtılan terimler

Terim Kod tanımlayıcısı Tanım Türkçe terim Kaynak
activity log ActivityLog Günlüğe yazılan her isteğin işlemi yapan, yol, durum, süre ve etkilenen kayıtla birlikte tutulan kaydı. etkinlik günlüğü src/cluster_erp/modules/logs/activity_log/models.py:15
error log ErrorLog İz kimliğiyle birlikte her sunucu veya istemci hatası için bir satır. Hata günlüğü src/cluster_erp/modules/logs/error_log/models.py:15

İlgili sayfalar


92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.

Doğrulanan commit 92f8051 · 2026-11-13