Простой логгер

  1. /**
  2.  * Простой логгер.
  3.  * Именем файла является сегодняшняя дата,
  4.  * таким образом каждый день создается новый файл,
  5.  * а каждая запись в файл помечается временем.
  6.  *
  7.  * @param string|array $data записываемые данные. Можно передавать массив или строку.
  8.  * @param string       $dir  директория для хранения логов, если написано например dir/dir2,
  9.  *                           то будет создана директория в директории, по умолчанию пустая строка,
  10.  *                           директория создана не будет.
  11.  * @param string       $ext  расширение без точки, по умолчанию jahak.
  12.  *
  13.  * @return int
  14.  *
  15.  * @author Jahak
  16.  */
  17. function logger($data, $dir = '', $ext = 'jahak')
  18. {
  19.     if (is_array($data)) {
  20.         $data = implode(",\n", $data);
  21.     }
  22.     if ('' != $dir) {
  23.         if (!is_dir($dir)) {
  24.             mkdir($dir, 0777, (substr_count($dir, '/') >= 1));
  25.         }
  26.         $dir = __DIR__ . DIRECTORY_SEPARATOR . $dir . DIRECTORY_SEPARATOR;
  27.     }
  28.     return file_put_contents($dir . date('Ymd') . '.' . $ext, date('H:i:s') . ': ' . $data . PHP_EOL, FILE_APPEND | LOCK_EX);
  29. }
Не знаю, может такое уже кто-то писал, но от меня такого раньше не было :gg:
Пример:

Реклама

Мы в соцсетях

tw tg yt gt