Je suis en train de configurer la journalisation de l'action utilisateur pour mon site PHP.PHP logs - mysql vs fichier
Recommanderiez-vous de les stocker dans mysql ou dans des fichiers texte/log?
Je suis en train de configurer la journalisation de l'action utilisateur pour mon site PHP.PHP logs - mysql vs fichier
Recommanderiez-vous de les stocker dans mysql ou dans des fichiers texte/log?
dépend de ce que vous voulez faire avec ceux-ci, je dirais:
pour ne pas ralentir les choses trop, vous pouvez aussi utiliser les deux (je l'ai utilisé sur certains sites avec un peu de trafic, w là, il aurait été sage de stocker des données dans DB immediat):
De cette façon, vous n'insérez pas de données dans DB tout le temps; et vous pouvez (à condition qu'un jour ou une heure se soit écoulé) faire toutes les requêtes dont vous avez besoin
Je recommanderais MySQL car il est alors plus facile d'afficher la connexion par exemple une zone administrative. Vous pouvez ensuite définir des indicateurs différents, c'est-à-dire des niveaux d'erreur, et filtrer dans le journal pour trouver des éléments intéressants. En outre, vous pouvez facilement baser une fonction de statistiques sur ces données, beaucoup plus facile que dans les fichiers journaux. Mais je suppose que cela dépend de la façon dont vous devriez utiliser votre journal, et par qui ils devraient être utilisés. fichiers journaux bruts sont un peu geeks :)
Je recommanderais d'utiliser quelque chose comme Zend_Log pour faire abstraction de la consignation 'physique' réelle. De cette façon, vous pouvez toujours changer de backend très facilement, au cas où votre situation changerait pour une raison ou une autre.
La plupart des outils d'analyse de journal ont besoin d'un fichier journal brut pour analyser. Si vous regardez les logs eux-mêmes, un db pourrait être meilleur (avec les conditions pascal dites). Mais si vous envisagez de faire une analyse réelle, il sera plus facile d'utiliser les fichiers journaux.
En fonction de la conception de votre application, l'ouverture d'un fichier et l'écriture sur celui-ci peuvent ne pas être beaucoup plus rapides que de faire une requête de base de données sur une connexion déjà établie. – n3rd
en effet; dépend également de la charge du serveur DB, je suppose que –
J'ajouterais simplement que, pour de meilleurs résultats, si vos fonctions de journalisation écrivent dans une base de données, vous devriez aussi avoir un repli de sorte que, si la connexion à la base de données échoue, les logs écrit dans un fichier plat. Sinon, votre site/application peut échouer et, comme vos seuls journaux sont dans la base de données, si cela échoue, vous n'obtenez rien. –