Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: creare un file di log

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    62

    creare un file di log

    Ciao ragazzi, ho bisogno di aiuto,.

    sto cercando di crare per la prima volta u file di log che registri cosa sta facendo la mia appicazione web, in particolare chi si è connesso e quando, connessioni al db, tempi delle query...

    Ho creato uno scriptino che mi apre un file di testo con fopen e poi con fwrite ho fatto scrivere del testo di prova all'interno del file di testo e funziona.

    Ho inserito nella mia pagina il file log.php ma adesso???

    Come faccio a far registrare il tempo di l'inizio e di fine di una query?????

    Non mi è chiaro..

    grazie

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    62
    Ciao,

    leggendo i link che mi hi postato mi consigli di realizzare una funzione che potrebbe essere:

    function microtime_float ()
    {
    list ($msec, $sec) = explode(' ', microtime());
    $microtime = (float)$msec + (float)$sec;
    return $microtime;

    e inserirla in un file php da richiamare nella mia pagina con un require o include

    poi inserire all'inizi della query che mi interessa tracciare:
    $startime = microtime_float();

    query da tracciare

    $enditime = microtime_float();

    e successivamente dovrei sampare nel log il risultato???

    E' corretto????

  4. #4
    Ciao,

    non ho studiato gli script suggeriti nei vari link (sono pigra ), concettualmente potrebbe essere corretto cmq.

    -prendi il tempo all'inizio dello script
    -esegui lo script
    -prendi il tempo alla fine dello script
    -li scrivi nel file di testo

    Io farei qualche prova così vedi che succede!!



    Originariamente inviato da speen
    Ciao,

    leggendo i link che mi hi postato mi consigli di realizzare una funzione che potrebbe essere:

    function microtime_float ()
    {
    list ($msec, $sec) = explode(' ', microtime());
    $microtime = (float)$msec + (float)$sec;
    return $microtime;

    e inserirla in un file php da richiamare nella mia pagina con un require o include

    poi inserire all'inizi della query che mi interessa tracciare:
    $startime = microtime_float();

    query da tracciare

    $enditime = microtime_float();

    e successivamente dovrei sampare nel log il risultato???

    E' corretto????

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    62
    ok, funziona... pero' mi stampa sempre lo stesso controllo. ... Non posso aggiungere all'fwrite piu' variabili??? (ex $timelog, $timelog2, ecc...)

    posto il codice del file log.php


    <?php

    $log = fopen("logprova.txt", "ab");


    if (fwrite($log, $timelog)==FALSE) {
    echo "cannot write to logprova.txt.";
    }
    else {
    echo"Created the file logprova.txt.";
    }
    ?>

  6. #6
    Che vuol dire ti stampa sempre lo stesso controllo?

    Vuoi dire per caso che non ti aggiunge nuove righe?

    O altro?


    Originariamente inviato da speen
    ok, funziona... pero' mi stampa sempre lo stesso controllo. ... Non posso aggiungere all'fwrite piu' variabili??? (ex $timelog, $timelog2, ecc...)

    posto il codice del file log.php


    <?php

    $log = fopen("logprova.txt", "ab");


    if (fwrite($log, $timelog)==FALSE) {
    echo "cannot write to logprova.txt.";
    }
    else {
    echo"Created the file logprova.txt.";
    }
    ?>

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    62
    All'interno del file ho diverse query, vorrei che la funzione microtime mi calcolasse tutti i tempi delle query presenti, e poi me li stampasse nel file di log.

    ////1 query

    $time_start = microtime(true); //inizio il conteggio

    $query = ....................;
    $result = ......................;

    $time_end = microtime(true); //chiudo il conteggio
    $time_unix = $time_end - $time_start;
    $time = number_format($time_unix,5,',','.');
    $timelog = "tempo impiegato query principale $time\n";


    ////2 query

    $time_start2 = microtime(true); //inizio il conteggio

    $query2 = ....................;
    $result2 = ......................;

    $time_end2 = microtime(true); //chiudo il conteggio
    $time_unix2 = $time_end2 - $time_start2;
    $time2 = number_format($time2_unix,5,',','.');
    $timelog2 = "tempo impiegato query principale $time\n";




    pero' poi nell' fwrite, all'interno del file di log posso specificare piu' variabili?????????????

    ex:
    if (fwrite($log, $timelog,$timelog2)==FALSE)

  8. #8
    Scusa, ma solo per capire, ma tu hai bisogno di scrivere piu' righe?

    Tipo:

    log 1 tempo inizio, tempo fine
    log 2 tempo inizio, tempo fine
    ...
    ecc.?

    Se si' prova cosi'
    Codice PHP:
    <?php
    $log 
    fopen("logprova.txt""ab");
    $logfile "logprova.txt" ;
    if (
    file_exists($logfile)) {  
      
    fputs($log"\r\n".$timelog);
      echo 
    "Updated "$logfile;
    }
    else {
       echo 
    "Cannot find "$logfile;
    }
    ?>

    Originariamente inviato da speen
    All'interno del file ho diverse query, vorrei che la funzione microtime mi calcolasse tutti i tempi delle query presenti, e poi me li stampasse nel file di log.

    [...]
    pero' poi nell' fwrite, all'interno del file di log posso specificare piu' variabili?????????????

    ex:
    if (fwrite($log, $timelog,$timelog2)==FALSE)

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    62
    Ho risolto

    Adesso mi chiedo.. riesco a svuotare il file di log ogni giornata????

  10. #10
    Ciao, se lo vuoi fare in automatico bisogna che il tuo server richiami uno script schedulato giornalmente...

    Non tutti i servizi di hosting permettono di farlo, dovresti verificare con il tuo provider!

    Altrimenti cliccki tutte le sere sullo script!

    Originariamente inviato da speen
    Ho risolto

    Adesso mi chiedo.. riesco a svuotare il file di log ogni giornata????

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.