Progetto

Generale

Profilo

Segnalazione #743

Log azioni utente

Aggiunto da Enrico Zini circa 2 mesi fa. Aggiornato 16 giorni fa.

Stato:
Chiuso
Priorità:
Normale
Assegnato a:
Versione prevista:
Inizio:
19-02-2019
Scadenza:
% completato:

0%

Resolution:

Descrizione

Logging delle azioni fatte dai vari utenti, a scopo di analytics per vedere le feature piú o meno usate

Revisioni associate

Versione 7b1d1498 (diff)
Aggiunto da Enrico Zini 23 giorni fa

Track operation sources. refs: #743

Versione a5183679 (diff)
Aggiunto da Enrico Zini 23 giorni fa

Write operation log. refs: #743

Versione 2d5f4fc8 (diff)
Aggiunto da Enrico Zini 23 giorni fa

Use a logger class, to make it easier to implement log rotation in the future. refs: #743

Versione ddee1683 (diff)
Aggiunto da Elena Grandi 18 giorni fa

Use a tempfile for the operation log during tests. refs: #743

Versione 3383c75e (diff)
Aggiunto da Enrico Zini 17 giorni fa

Started a test suite for ops. refs: #743

Versione 4cbe3f2d (diff)
Aggiunto da Enrico Zini 17 giorni fa

Added slots to all Event classes, to prevent setting mistyped attributes. refs: #743

Versione bb15e49e (diff)
Aggiunto da Enrico Zini 17 giorni fa

Implemented disabling a data source from config. refs: #743

Versione 1f7f97e1 (diff)
Aggiunto da Enrico Zini 17 giorni fa

Turn all stores ip/name/mac resolution functions into coroutines. refs: #743

Versione a6048508 (diff)
Aggiunto da Enrico Zini 17 giorni fa

Only run the chaos data source if debug is True. refs: #743

Versione 60269798 (diff)
Aggiunto da Enrico Zini 17 giorni fa

Cleaned up / expanded TestManagerMixin. refs: #743

Versione 457aa163 (diff)
Aggiunto da Enrico Zini 17 giorni fa

Test AddGroup and DelGroup. refs: #743

Versione 2c0a8143 (diff)
Aggiunto da Enrico Zini 17 giorni fa

Test that OperationLog does not fail if the log directory does not exist. refs: #743

Cronologia

#1 Aggiornato da Elena Grandi circa un mese fa

Tenere traccia:

  • delle azioni richiamate dall'interfaccia;
  • delle azioni svolte dal backend

#2 Aggiornato da Enrico Zini circa un mese fa

  • Assegnato a impostata a Enrico Zini

#3 Aggiornato da Enrico Zini 23 giorni fa

  • Stato modificata da Nuovo a In elaborazione

#4 Aggiornato da Enrico Zini 23 giorni fa

  • Stato modificata da In elaborazione a Commenti
  • Assegnato a modificata da Enrico Zini a Elena Grandi

Ora le Operation vengono eseguite tramite il metodo Manager.execute, che le logga in un file un-json-per-riga.

Non ho implementato supporto per ruotare il file di log, che lascierei a un futuro in cui si ha un'idea piú chiara di come gestire reload dell'applicazione e rotazione dei suoi log in generale. Ho però predisposto il codice per implementare rotazione, incapsulando il logging in una OperationLog.

Ho aggiunto Operation.source per tracciare il punto dell'interfaccia in cui è stata richiesta un'operazione. In futuro, potremo aggiungerci anche il nome dell'utente e quant'altro possa servire.

#5 Aggiornato da Elena Grandi 18 giorni fa

Su una macchina dove non esiste /var/log/fuss-manager/ i test fallivano per l'assenza della directory.

Ho cambiato i test per usare un tempfile perché possano girare in ambienti isolati (CI o simili).

Può essere utile (prima del merge?) aggiungere dei test che verifichino che l'errore specifico (configurazione in cui il file dei log non sia apribile per vari motivi) sia gestito?

#6 Aggiornato da Elena Grandi 18 giorni fa

  • Assegnato a modificata da Elena Grandi a Enrico Zini

#7 Aggiornato da Enrico Zini 17 giorni fa

  • Assegnato a modificata da Enrico Zini a Elena Grandi

Fatto, e testato anche un po' meglio le ops già che c'ero

#8 Aggiornato da Elena Grandi 16 giorni fa

  • Stato modificata da Commenti a Chiuso
  • Assegnato a modificata da Elena Grandi a Enrico Zini

Mergiato in master

Esporta su Atom PDF