Registro di controllo aziendale-libreria o approccio consigliati? [chiuso]


Conosci qualche buona libreria Java per la registrazione dell'audit? O almeno un buon libro / articolo per aiutare a scegliere un buon approccio per creare un registro di controllo per un'applicazione?

Requisiti della libreria:
- definire i metadati di audit comuni (UserID, tempo, IP,...)
- definire i tipi di messaggio di controllo (transazione inviata, messaggio ricevuto, ...)
- bloccare / firmare singoli messaggi di controllo (per non ripudio)
- ricerca registro di controllo sulla base di metadati
- ecc.

Modifica:
Sono non cercando una soluzione automatizzata, sono perfettamente felice di chiamare qualcosa come:

AuditEvent event = new TransactionSentEvent(userId, account, amount, ...)
AuditLog.audit(auditEvent);

Il punto è avere l'infrastruttura dietro l'it: archiviazione sicura nel database, non reputabilità ecc.

Author: krtek, 2010-09-23

5 answers

E questo https://github.com/dima767/inspektr Ho quasi gli stessi requisiti che hai descritto sopra e sto scavando in inspektr.

 1
Author: Han Zheng, 2013-03-11 10:24:28

Quindi, se stai cercando un framework, puoi provare logback-audit. È dalle persone che sono dietro la libreria di registrazione Java, logback .

 10
Author: jkl, 2010-10-29 20:02:39

Se si utilizza Java, un modo è usare springframework e aop. Questa è l'opzione più flessibile. Ecco un esempio

Puoi farlo anche a livello di database usando hibernate (maggiori informazioni)

 4
Author: surajz, 2015-10-12 20:43:41

È possibile utilizzare la libreria AscpectJ senza Spring, tramite annotazioni

 1
Author: user456247, 2010-09-23 14:17:14

Un buon approccio alla registrazione a livello di attività/operazione consiste nel determinare esattamente cosa è necessario registrare. L'hai già fatto.

Non hai davvero bisogno di alcun nuovo framework o AOP da aggiungere. Tuttavia, hai alcuni requisiti aggiuntivi che ti impediscono di utilizzare i framework di registrazione comuni come Log4J o java.util.registrazione senza creare più lavoro.

L'approccio più semplice che posso pensare che tu possa fare è avere una classe di audit che ha una connessione JDBC iniettata o configurata dentro. Questo può essere fatto attraverso la primavera se si sta già utilizzando quel framework. Se non si dispone di un contenitore DI, è necessario definirlo come un singleton.

Un'altra cosa di cui hai bisogno è una capacità di firma. Java ha un java.sicurezza.Firma per firmare e verificare i dati.

Come ho detto prima hai requisiti che ti impediscono di utilizzare i framework di registrazione disponibili. Cioè:

  • registro di controllo di ricerca basato sui metadati

Per te facilitare la ricerca è necessario memorizzare i dati in un database come scrivere in un file di testo sarà difficile da fare. Usando i framework di registrazione devi imparare l'API ed essere legato al framework che non fa parte dello standard.

 0
Author: Archimedes Trajano, 2010-10-29 15:41:00