Für applikationsinternes Logging wie Ausführung von z.B. Webhook Runs oder EBICS Importe soll ein neues Log erstellt werden:
- Log kann unter Einstellungen > Hitobito Log eingesehen werden
- Zugriff darauf haben nur Personen mit :admin permission
- Es wird vorerst nur eine Liste (:index) angezeigt, kein :show
- Die Liste kann nach Kategorie gefiltert werden (z.B. via Tab pro Kategorie)
- Sortiert wird nach timestamps (updated_at, created_at)
- message feld mit Zeilenumbrüchen
- Daten können idealerweise nach Datum (created_at, updated_at) sowie kind gefiltert werden
- Pagination
- Helper um Logeintrag zu erstellen (z.B. Hitobito.logger, logger.info, ggf. inspiriert von Rails Logger)
Tech-Spec
Neues model HitobitoLog:
- id, primary key, int
- timestamps
- category, int, enum: [:webhook, :ebics, :mail, ...], null: false
- kind, int, enum: [:info, :error, :debug], null: false, index: true, default: :info
- message, text, null: false
- subject_id, in, null: true, subject id, (z.B. person_id, message id, ...)
- subject_type, string, (z.B. Person, PaymentProviderConfig, Message, ...)
- has_one: :subject, polymorphic
Erstellen eines Log-Eintrags könnte dann in etwa so aussehen:
logger = Hitobito.logger.new
logger.info(:webhook, 'Donman API Person: Updated person attributes ...', subject: person)
ToDo
Für applikationsinternes Logging wie Ausführung von z.B. Webhook Runs oder EBICS Importe soll ein neues Log erstellt werden:
Tech-Spec
Neues model HitobitoLog:
Erstellen eines Log-Eintrags könnte dann in etwa so aussehen:
ToDo