Hilfe brauchen bei Protokollierung aller Aktivitäten auf einer Website sowie von Datenbankänderungen .
Anforderungen:
- sollte in der Datenbank sein
- sollte leicht nach Initiator (Benutzername/Sitzungsnummer), Ereignis (Aktivitätsart) und Ereignisparametern durchsuchbar sein
Ich kann an ein Datenbankdesign denken, aber entweder beinhaltet es viele Tabellen (eine pro Ereignis), so dass ich jeden der Parameter eines Ereignisses in einem separaten Feld protokollieren kann ODER es beinhaltet eine Tabelle mit generischen Feldern (7 int numerisch und 7 Texttypen) und protokollieren alles in einer Tabelle mit Ereignis-Typ-Feld bestimmen, welche Parameter wo geschrieben wurde (und hoffen, dass ich nicht mehr als 7 Felder eines bestimmten Typs, oder 8 oder 9 oder welche Anzahl ich wählen)...
Beispiel für Einträge (die üblichen Dinge):
[username] login failed @datetime
[username] login successful @datetime
[username] changed password @datetime, estimated security of password [low/ok/high/perfect] @datetime
[username] clicked result [result number] [result id] after searching for [search string] and got [number of results] @datetime
[username] clicked result [result number] [result id] after searching for [search string] and got [number of results] @datetime
[username] changed profile name from [old name] to [new name] @datetime
[username] verified name with [credit card type] credit card @datetime
datbase table [table name] purged of old entries @datetime via automated process
usw...
also Hat sich jemand schon einmal damit beschäftigt? ? beliebig beste Praktiken / Links, die Sie teilen können ?
Ich habe gesehen, dass es mit der oben erwähnten generischen Lösung getan, aber irgendwie das geht gegen das, was ich aus Datenbank-Design gelernt, aber wie Sie sehen können die schiere Anzahl von Ereignissen, die nachverfolgt werden müssen (jeder Benutzer in der Lage sein, diese Informationen zu sehen) ist mir Kopfschmerzen, ABER ich LIEBE das ein Ereignis pro Tabelle Lösung mehr als die generische ein.
irgendwelche Gedanken?
edit: Gibt es vielleicht irgendwo eine verbindliche Liste solcher (wahrscheinlicher) Ereignisse?
thnx
Stack Overflow sagt: Die Frage, die Sie stellen, scheint subjektiv zu sein und wird wahrscheinlich geschlossen werden.
meine Antwort: wahrscheinlich ist subjektiv, aber es ist direkt mit meinem Problem verbunden, das ich mit dem Entwerfen einer Datenbank / dem Schreiben meines Codes habe, also würde ich jede Hilfe begrüßen. auch ich habe versucht, die Ideen auf 2 einzugrenzen, also hoffentlich wird sich eine davon durchsetzen, es sei denn, es gibt bereits eine etablierte Lösung für diese Art von Dingen.