<?php
// Caminho da pasta onde os logs serão salvos
$logDirectory = __DIR__ . '/logs'; // Altere se quiser salvar em outro lugar
// Cria a pasta se não existir
if (!is_dir($logDirectory)) {
mkdir($logDirectory, 0755, true);
}
// Nome do arquivo com a data do dia
$logFile = $logDirectory . '/access_log' . date('Ymd') . '.log';
// Dados da requisição
$ip = $_SERVER['REMOTE_ADDR'] ?? '-';
$method = $_SERVER['REQUEST_METHOD'] ?? '-';
$uri = $_SERVER['REQUEST_URI'] ?? '-';
$status = http_response_code(); // Apenas se estiver em contexto real
$userAgent = $_SERVER['HTTP_USER_AGENT'] ?? '-';
$referer = $_SERVER['HTTP_REFERER'] ?? '-';
$datetime = date('[d/M/Y:H:i:s O]');
// Monta a linha de log (estilo Apache)
$logLine = sprintf(
"%s \"%s %s HTTP/1.1\" %d - \"%s\" \"%s\"\n",
$datetime,
$method,
$uri,
$status,
$referer,
$userAgent
);
// Escreve no arquivo de log
file_put_contents($logFile, $logLine, FILE_APPEND | LOCK_EX);