Administratorlog: database of bestand?
(weet niet of dit het goede forum is..)
ik ben een website aan het maken met daarbij een cms, nu wil ik een administratorlog maken, zodat de hoofdadministrator kan zijn wat de andere admins uitvreten :P.
kan ik dit het beste in de database opslaan of in een bestand?
Database. Aparte tabel waar je alles (ip, datum, user, etc.) opslaat.
oke, maar ik wil dus gewoon op elke pagina een scriptje includen dat kijkt wat de gebruiker doet en het dan in de database stopt, word dat niet langzaam?
Nee dat wordt niet langzaam. Ik heb op het werk een scriptje wat misschien wel 100.000 queries (selectie en inserts) uitvoert in 7 minuten
@Klaasjan, langzaam is een opvatting die ook bepaald wordt door je server. Ik ga er vanuit dat je DB op het werk geen hosting van Hosting123 BV is ofzo.
Gewijzigd op 01/01/1970 01:00:00 door Ed
een text file parsen kost veel resources! Hoe langer de file hoe meer...
En je kan niks met een file. Integenstelling tot een database, die kan je veel makkelijker indexeren en doorzoeken.
Op kleine schaal is er nog geen ramp. Maar ga jij maar eens een jaar verslag uitdraaien uit elle lange text bestanden zonder indexering...
Er zijn best goede classes te vinden om gemakkelijk naar een bestand te schrijven.
Je kunt per dag een log maken en deze per week in een map zetten. Op die manier hou je ook het overzicht nog.
Het kost de server iets meer moeite om wat in een tekstfile te zetten dan in een database, maar we praten dan over miliseconden. Dus zelfs al moet er enkele tientallen keren per minuut naar je errorlog geschreven worden (Lijkt me al erg veel, maar toch) dan zal een gebruiker er niets van merken of die error nou naar een database of naar een tekstfile geschreven wordt.
-> verbinding maken met de db kan meestal wel en test je op de pagina zelf, je kan bij het maken van de verbinding altijd zeggen dat: wanneer geen verbinding naar het bestand schrijven.
Naar bestand schrijven is qua verbinding misschien handiger (minder risico) maar ik vind niet dat de nadelen van het schrijven naar een bestand opwegen tegen de voordelen van het gebruik van de database.
Ik noem:
- Makkelijk controleren of een bepaalde fout al voorkomt (op dezelfde datum, niet dezelfde tijd natuurlijk) -> Voorkomen dubbele input
- Makkelijk een overzicht te maken van de fouten, simpel op allerlei manieren te sorteren
- Zeker bij controle op dubbele gegevens ontiegelijk veel sneller.
- Eenvoudiger bij te werken/ aan te passen, te administreren.
Dat zijn zo maar een paar voordelen, en ik weet ook zeker dat er nog een paar ontbreken.
Dan zou ik idd iets zeggen als pomp de error de database in, mislukt dat gooi het dan alsnog in een errorlog, gooi daarbij waarom het niet in de database gegooid kon worden en mail de admin.