Classe para gerar logs
Publicado por Perfil removido (última atualização em 27/06/2011)
[ Hits: 9.730 ]
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;
}
}
?>
Página inicial com dados e agenda com AJAX e MySQL
Criando um menu de paginação de resultados com algumas funcionalidades
Converte uma string binaria em seu respectivo codigo ascii
Converte um texto em seu respectivo codigo binario
Converte para maiúsculas a primeira letra de cada palavra
Nenhum comentário foi encontrado.
Boas Práticas e Padrões Idiomáticos em Go e C
Vale a pena ter mais de uma interface grafica no seu Linux?
Estrutura e Funcionamento de um Ebuild no Gentoo Linux
Copiar Para e Mover Para no menu de contexto do Nautilus e Dolphin
Dotando o Thunar das opcoes Copiar para e Mover para no menu de contexto
Usando o ble.sh (Bash Line Editor) no lugar do bash completion
Montagem pré automática de HD externo usb em NTFS não funciona no Debian Trixie - Solução









