Classe para gerar logs
Publicado por Perfil removido (última atualização em 27/06/2011)
[ Hits: 8.723 ]
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 <[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; } } ?>
Transformar datas para gravar no banco de dados (MySQL, Postgres e outros)
Executando comandos através do PHP
Nenhum comentário foi encontrado.
Desenvolvedor Java - pleno (0)
Analista de sistemas pleno (0)
Semana da Programação Shell Linux, com o Prof. Julio Neves (1)
Rodando um aplicativo em modo Kiosk no Ubuntu Linux 20.04
Instalação do Gentoo em HD Externo para dual boot com Windows
Instalação do OCS Inventory (última versão, 2.9.2 - 2022) no Debian 11
VOIP - Interceptando tráfego de pacotes
Sistemas de proteção de acesso a dados do seu HD, será efetivo?
Arduino IDE não reconhece portas USB no Ubuntu 22.04
Passando parâmetros do cliente SSH para o GIT
Auto indentar linhas selecionadas no Vim
Som estourado ou falhando na Steam com Proton
Habilitando a compilação JIT (Just In Time) para o PHP8 no Ubuntu
Incluir bibliotecas não padrão em C (1)
Executar comando por shell script (1)
Mudança na estrutura de Banco de dados MySql causa problema na exporta... (0)