Не претендуя на оригинальность, но все же приведу пример простой и законченной функции php
для логирования операций, действий своего скрипта. Логирование — это не просто запись текста в файл, а важный инструмент для контроля, отладки и поддержки PHP-приложений на всех этапах их жизненного цикла. Так сказал бы любой деятель, страдающий формальной подачей очевидных решений. Давайте немного подробнее рассмотрим такую простую задачу.
Здесь мы рассмотрим листинг функции writeLog
, которая полезна для ведения журналов (логов) работы вашего приложения или скрипта. Вот ключевые моменты её пользы.
Автоматическое создание и поддержка папки для логов
Функция проверяет наличие папки /logs/
рядом с самим скриптом и создаёт её, если она отсутствует. Это упрощает организацию логов и позволяет не беспокоиться о подготовке директории вручную.
Удобное форматирование и организация логов по датам
Каждое сообщение записывается в файл с именем, включающим дату (например, log_2025-08-07.log
). Это помогает структурировать логи и легко находить записи за конкретный день.
Добавление метки времени к каждому сообщению
В записи логов указывается точное время (день, месяц, год, часы, минуты, секунды), что важно для последующего анализа и отладки — можно точно определить, когда произошло то или иное событие.
Гибкость в названии файлов логов
Параметр $filenamePrefix
позволяет изменять префикс имени файла, что удобно, если нужно вести разные типы логов (например, error_
, access_
и т.д.).
Простая и надёжная запись сообщений
Функция использует file_put_contents
с флагом FILE_APPEND
, что позволяет дозаписывать новые сообщения в конец файла, не перезаписывая существующие данные.
Листинг функции writeLog
на PHP.
function writeLog($message, $filenamePrefix = 'log_') {
// Папка для логов, убедитесь, что она существует и доступна на запись
$logDir = __DIR__ . '/logs/';
if (!file_exists($logDir)) {
mkdir($logDir, 0777, true);
}
// Имя файла с датой (пример: log_2025-08-07.log)
$logFile = $logDir . $filenamePrefix . date('Y-m-d') . '.log';
// Строка лога с датой-временем
$logEntry = date('d-m-Y H:i:s') . ' | ' . $message . PHP_EOL;
// Запись в файл, добавляя в конец
file_put_contents($logFile, $logEntry, FILE_APPEND);
}
В целом, функция помогает централизованно и прозрачно фиксировать важные события, ошибки или другую информацию, необходимую для мониторинга и отладки приложений.
Удачного кодинга!