Comment avoir des erreurs quotidiennes et accéder aux journaux sur Apache (pour Windows)?


10

Nous exécutons Apache 2.2.9 (Win32) avec quelques hôtes virtuels configurés sur le même serveur. Chacun a ses propres paramètres ErrorLog et CustomLog qui sont au format "logs / [nom de domaine] -error.log" et "logs / [nom de domaine] -access.log". Malheureusement, ils créent maintenant des fichiers assez volumineux.

Sur IIS, vous pouvez spécifier la planification du journal, qui peut les mettre dans un format quotidien de "yymmdd.log". Y a-t-il quelque chose de similaire que je peux faire ici?

Il n'est pas nécessaire que ce soit quotidien, hebdomadaire ou mensuel. Je voudrais juste les décomposer afin que nous puissions conserver le montant X au lieu de tout ce qu'il a jamais enregistré. Un rapide Google semble apporter de nombreuses réponses orientées Linux impliquant des séparateurs de journaux, des scripts et des tâches cron, ce qui n'est pas trop utile pour une installation Windows.

Mettre à jour

Grâce à radius, j'ai modifié mon httpd-vhosts.conf pour utiliser la commande rotatelogs intégrée à Apache , au format suivant:

ErrorLog "|bin/rotatelogs logs/[domain name]-error.%Y-%m-%d-%H_%M_%S.log 5M" CustomLog "|bin/rotatelogs logs/[domain name]-access.%Y-%m-%d-%H_%M_%S.log 5M" common

Ils créeront un nouveau fichier journal lorsque celui-ci atteindra 5 Mo. Je sais que ce n'est pas quotidien comme demandé, mais cela les maintient à une taille gérable qui fera l'affaire. J'ai essayé la rotation après tant de secondes, mais il ne semblait pas mettre correctement l'horodatage dans le nom du fichier (en particulier les heures, les minutes et les secondes).

Réponses:


11

Ce que vous recherchez est le programme rotatelogs fourni avec apache http://httpd.apache.org/docs/2.2/programs/rotatelogs.html

Par exemple, pour faire tourner vos journaux quotidiennement à minuit:

CustomLog "|bin/rotatelogs -f /var/log/apache2/logfile.%Y.%m.%d.log 86400" common

+1, je ne savais pas qu'Apache avait sa propre solution.
Karolis T.

Pour toute personne utilisant Ubuntu, vous devrez peut-être modifier le chemin d'accès /usr/bin/rotatelogs, car c'est là que rotatelogsse trouve. Sinon, Apache ne pourra pas redémarrer en raison d'une erreur.
BadHorsie



0

Essayez directement avec

CustomLog "|C:/<chemin vers apache>/bin/rotatelogs.exe E:/<chemin vers les logs>/<monsite>/access-%Y_%m_%d.log 86400 60" combined

2
Veuillez ajouter une explication de ce que cela fait.
kasperd
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.