Classe para gerar logs

Publicado por Perfil removido (última atualização em 27/06/2011)

[ Hits: 8.723 ]

Download OXPLog.php




Classe que consiste em gerar logs persistentes em arquivos de texto.
O uso é simples:

<?php
require_once('OXPLog.php');
// Instancia o objeto, especificando o arquivo que receberá os dados
$oxpl = new OXPLog('log.txt');
// Gera
$oxpl->insertIntoLogFile('Acesso à página: ' . $_SERVER['REQUEST_URI']);
?>

  



Esconder código-fonte

<?php
/**
 * Description of OXPLog
 * -------------------------------------------------
 * @author Orlando Xavier <[email protected]>
 * -------------------------------------------------
 * Classe para controle de gravação de logs
 */
class OXPLog {
    /*
     * Arquivo de logs
     */
    private $file;
    /**
     *
     * @param <string> $file Arquivo a ser criado e/ou usado
     */
    public function __construct($file) {
        // Deixa o arquivo oculto caso o sistema seja UNIX-like
        if (strtoupper(substr(PHP_OS, 0, 3)) != 'WIN') {
            $this->file = '.' . $file;
        } else {
            $this->file = $file;
        }
    }
    /*
     * Prepara o arquivo para gravação
     */
    public function fileCheckAndPrepare() {
        if (!file_exists($this->file)) {
            $f = fopen($this->file, 'w');
        } else {
            $f = fopen($this->file, 'a');
        }
        return $f;
    }
    /**
     *
     * @param <string> $event Evendo definido pelo programador
     * @return <bool> $r
     */
    public function insertIntoLogFile($event) {
        $f = $this->fileCheckAndPrepare();
        $logText = '(' . date('d/m/Y H:i:s') . ') ' .
                '[IP] ' . $_SERVER['REMOTE_ADDR'] .
                ' => [Evento] ' . $event . "\n";
        if (!fwrite($f, $logText)) {
            $r = false;
        } else {
            $r = true;
        }
        fclose($f);

        return $r;
    }
}
?>

Scripts recomendados

Calendário

Calendário simples em PHP

Transformar datas para gravar no banco de dados (MySQL, Postgres e outros)

Hosting Control

Executando comandos através do PHP


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts