mmofacts.com

Logs erstellen / sichern

gepostet vor 19 Jahre, 8 Monate von None
Moin moin,

wie handhabt ihr das mit den Logs?
Ich bin gerade am Überlegen was es alles wert ist mitgelogt zu werden, bei einem Echtzeit-Event-Handler.

Nehmen wir ein Beispiel:
Ein User startet baut irgendwas. Da werden bei meinem Programmablauf, erst die Ressourcen aktuallisiert mit den alten Werten, dann wird der Bau in die DB eingetragen und ist ausgeführt.

Was logt man hier alles mit und wie logt man es mit?

Zur Zeit sieht das so bei mir aus:
<22:16:20> <[1] Ticks: 5002/9>

<22:16:20> <[1] Vis: 24/336$ Grls: 373$ oT$: 709 gT$: 6381>
<22:16:20> <[1] Building-Event: decoration>
Das läuft jetzt so bei mir ab:
<[userid] infos>

Wie verkleinere ich das Datenvolumen, gibts da Tricks?
Und wie logt man richtig mit, bzw. welche Infos braucht man?

Bin gespannt wie ihr das so handhabt...
gepostet vor 19 Jahre, 8 Monate von BLUESCREEN
Da gibt es keine Standardantwort...

Log einfach alles mit, was du brauchst, um später Fehler zu finden oder etwas nachzuprüfen.
Um später schnell Daten wiederzufinden ist es praktisch, wenn jeder Logeintrag genau eine Zeile lang ist und alle wichtigen Variablen enthält.

Zu deinem Beispiel:
Original von Samson

Ein User startet baut irgendwas. Da werden bei meinem Programmablauf, erst die Ressourcen aktuallisiert mit den alten Werten, dann wird der Bau in die DB eingetragen und ist ausgeführt.
Ich würde mitloggen, wer wann was wo gebaut hat.

Original von Samson

Wie verkleinere ich das Datenvolumen, gibts da Tricks?
tar, gzip, bzip, zip, rar, ace, SCNR ^^
gepostet vor 19 Jahre, 8 Monate von schokofreak
Prioritätsklassen erstellen:
- Information (was passiert)
- Warning (Das sollt ned sein; kann aber behoben werden)
- Cheat (da ist etwas passiert, was nur durch Cheats erreicht werden kann)
- Fehler
- Schwerwiegender Fehler
...
...
...

Und schlussendlich musst du nur noch zentral irgendwo definieren, welche Meldungen automatisch verworfen werden, und welche nicht...

Gruss
gepostet vor 19 Jahre, 8 Monate von knalli
Meiner Meinung kommt es vor allem immer darauf an, WAS du WANN WIE OFT und WIE LANGE loggen willst.

Möchtest du z.B. nur loggen, welcher User sich wann eingeloggt hast, um später daraus ein Profil zu erstellen, würde sich eine Datenbanklogger eignen, da 1. du die IP-relevanten Dinge eh nach 2 Monaten löschen musst, 2. du so sehr flexible Dinge rausfischen kannst und 3. du das sogar zur Moderation (Multisuche etc) benutzen kannst. Genauso für bestimmte Ereignislogs.

Der Nachteil ist, du brauchst mehr Speicher für die Datenbank, der Log muss optimiert eingefügt werden, es müssen Cronjobs (oder du machst das selber) dafür installiert sein und - at last but not least - das sichern erfordert etwas handgeschick (dumps sichern etc).

Wie gesagt, es kommt drauf an, was man loggen will.. und wofür.
Es dürfte wahrscheinlich effektiver sein, per DB (#Log-indizes) ein Loginprofil zu erstellen, anstatt eine 100 MB Logfile zu parsen.. wenn der DB-Handler jedoch schon nah am Limit steht, sollte man das DB-Logging vllt doch weglassen

Auf diese Diskussion antworten