Classe para gerar logs
Publicado por Perfil removido (última atualização em 27/06/2011)
[ Hits: 9.668 ]
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']);
?>
<?php
/**
* Description of OXPLog
* -------------------------------------------------
* @author Orlando Xavier <ox@orlandoxavier.com>
* -------------------------------------------------
* 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;
}
}
?>
Mostrar todas as variáveis e valores da variável global $_POST
Entendendo os operadores de atribuição
gerador de tabelas em html v2.2
funcões para conversao de uma string
Nenhum comentário foi encontrado.
librePods: liberte seus AirPods em 2026
Bluefin - A nova geração de ambientes de trabalho Linux
Como atualizar sua versão estável do Debian
Instalando e definindo as novas fontes Adwaita no GNOME
Configurar aviso da temperatura da CPU no Conky
Pós-instalação do elementary OS 8.1
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
archlinux resolução abaixou após atualização [RESOLVIDO] (19)
Após todos esses anos... youtube! (0)
Conky não mostra temperaturas da CPU no notebook (14)
Registro do 'last&qu... errado [RESOLVIDO] (9)
O WiFi não reconhece minha rede depois que o processo de suspensão é r... (2)









