IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Problème de fichier de log


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 277
    Points : 64
    Points
    64
    Par défaut Problème de fichier de log
    Bonsoir,

    Je log certaines informations (les adresse IP et les dates des hit) dans un fichier lorsque une page précise est visité.

    Dans ma page j'ai le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $ToDay = date("d/m/Y");
    $Hour = date("H:i:s");
     
    $myremoteaddr =  $_SERVER["REMOTE_ADDR"];
     
    if (isset($myremoteaddr)) {
    	logIPAddress ($myremoteaddr, $ToDay . " ". $Hour);
    }
    Et la fonction logIPAddress est défini comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    function logIPAddress($ip, $date) {
     
    	$MyOwnIP = "xxxxxxxxxxx"; // je cache mon adresse IP a vos yeux
    	$loopbackIP = "127.0.0.1";
     
    	if ($ip =="") {
    		return(0);
    	}
     
    	if ($ip == $MyOwnIP) {
    		return(0);
    	}
     
    	if ($ip == $loopbackIP) {
    		return(0);
    	}
    	$file = "ip.txt";
     
    	$log = $date . chr(9) . $ip ;  // chr 9 = tabulation
     
     	if ($idFile=fopen($file, "a+")) {
    		fputs($idFile, chr(10) . chr(13));
    		fputs($idFile, chr(10) . chr(13));
    		fputs($idFile, $log);
    		fputs($idFile, chr(10) . chr(13));
    		fputs($idFile, chr(10) . chr(13));
    		fclose($idFile);
    	}
     
    }
    C'est très simple.

    Seulement j'ai un problème. Dans mon fichier de log j'ai des caractères inconnus (en ouvrant ce fichier avec notepad++ il semble que cela soit des caractères "NULL"). J'ai donc rajouté des tests pour savoir si l'adresse IP n'était pas vide ou corrompue, etc.

    J'ai un second problème. C'est que ces caractères inconnues (des carrés lorsque je l'ouvre avec WordPad) s'écrivent en arrière dans le fichier et suppriment ou ècrassent certaines lignes. J'ai en effet observé que certaines adresses IP qui étaient logées ne l'étaient plus entre deux lectures du fichier de log. C'est pour cela que j'ai ajouté les chr(10) et char (13) en plus qui correspondent a des retours de chariot et line feed.

    Je pensais avec cette technique mettre beaucoup d'espace entre chaque ligne et faire en sorte que mes lignes ne soient pas écrasées par ces caractere inconnues. Mais ca ne marche pas;

    Je dois dire que mon serveur est particulièrement lent. Je ne sais pas comment sa se passe si deux utilisateurs visitent la page en question. Il y a t-il des conflit ? Je doute que cela soit ca. Est-ce que cette procédure de mise en log est "atomique" ? Il y a t-il des "sémaphores" ?

    Je suis vraiment ennuyé de perdre des logs.

    Si quelqu'un a une idée...

    Merci d'avance.

  2. #2
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 277
    Points : 64
    Points
    64
    Par défaut
    Personne n'a d'idée pour débugger cela ?

  3. #3
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 277
    Points : 64
    Points
    64
    Par défaut
    J'ai essayé d'ajouter un fflush() mais j'ai toujours le problème...

Discussions similaires

  1. [SP-2010] Problème de fichier log sharepoint server
    Par skud07 dans le forum SharePoint
    Réponses: 1
    Dernier message: 04/01/2011, 19h55
  2. [Log4j][Applet] Problème lecture du fichier de log
    Par julie4207 dans le forum Logging
    Réponses: 3
    Dernier message: 22/11/2010, 11h29
  3. Problème avec le fichier de log de la base tempdb
    Par Abac_Angelique dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/10/2009, 07h46
  4. probléme de fichier log
    Par ess2007 dans le forum Administration
    Réponses: 12
    Dernier message: 26/06/2008, 12h11
  5. Réponses: 9
    Dernier message: 16/05/2006, 15h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo