Domanda

Io sono la progettazione di un sistema intranet per medie imprese. Devo tenere una singola tabella di log per tutti i moduli o renderlo separato?

Registro di controllo mantiene tutte le attività di amministrazione / personale (creare, aggiornare, eliminare gli oggetti) e la struttura di registro è universale per qualsiasi tipo di modulo.

E 'anche una buona idea se mi tira report basato su record di log? La mia tabella di log mantiene tipo di oggetto e oggetto id così ho potuto recuperare i dati per qualsiasi oggetto ed in qualsiasi momento sulla base di eventi, nome di oggetto e l'oggetto id.

Qual è l'approccio migliore per la segnalazione in questi casi?

È stato utile?

Soluzione

Bene, quando si va a rivedere il vostro log, che preferiresti fare, cercare in un posto dove si può vedere tutto, o dovuto controllare diversi luoghi diversi, ciascuno dei quali solo mostra un pezzo del sistema in isolamento?

Tieni presente che, con una singola tabella, è banale per filtrare le voci che sono irrilevanti o che l'utente non ha l'autorizzazione per vedere. La combinazione di diversi singoli registri in una visione unica e completa è un po 'più complicato da fare, in più ha l'ulteriore svantaggio di, nella maggior parte dei disegni, che richiede di rivedere il codice che fa la combinazione ogni volta che viene aggiunta una nuova tabella di log.

I sicuramente dire un unico registro è preferibile. L'unica situazione mi viene in mente dove più registri segregati sarebbe opportuno sarebbe se problemi di sicurezza erano abbastanza forti da richiedere che le voci di registro con diversa visibilità deve essere fisicamente separati - e, in tal caso, si sarebbe probabilmente essere guardando separata i server, non solo tavoli separati log.

Altri suggerimenti

log4php . log4j risolto gran parte dei problemi di registrazione con l'introduzione di livelli di gerarchia e di registro. Non so quanto è buono log4php è, ma dovrebbe essere un antipasto.

Direi una tabella.

Si consiglia di trovare l'attività degli utenti in tutti i moduli, per esempio (se ho capito bene). Che si presta a una tabella.

di report da vostra tabella di log sarebbe OK. Voi potete far sbarcare in un database report separato per ridurre i conflitti e carico sulla tabella di registrazione.

Infine, vorrei memorizzare nome dell'oggetto e digitare in modo esplicito (oggetti di database). Se si lascia cadere e creare quindi l'ID cambierà. O una tabella può diventare una vista per esempio, in modo che entrambi si tratta di tipo e IDOggetto cambierà.

Usiamo tavolo singolo e si è rivelato essere la soluzione migliore, in particolare in termini di prestazioni. E soprattutto con grandi insiemi di dati. Se siete interessati a una soluzione off-the-shelf -. Prova a questo

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top