Файл журнала
Эта статья или раздел нуждается в переработке. |
Файл журнала (протокол, журнал; англ. log) — файл с записями о событиях в хронологическом порядке, простейшее средство обеспечения журналирования. Различают регистрацию внешних событий и протоколирование работы самой программы — источника записей (хотя часто всё записывается в единый файл).
Регистрация внешних событийПравить
Журналы сервера — специальные файлы, в которых протоколируются определённые действия пользователя или программы на сервере. Например, в журналы веб-сервера записывается информация, откуда пришёл тот либо иной посетитель, когда и сколько времени он провел на сайте, что там смотрел и скачивал, какой у него браузер и какой IP-адрес у его компьютера. Каждая запись в лог-файле соответствует определённому хиту, так как сервер может фиксировать именно запрос к одному из элементов сайта.
Проанализировав файлы регистрации, можно получить сводные данные активности пользователей, изучить закономерности поведения групп пользователей и оценить эффективность рекламной кампании. Часто используемые данные (статистика) могут записываться сразу в базу данных, а не только в файл регистрации.
Протоколирование работы программыПравить
Ведение протокола (протоколирование) — хронологическая запись с различной (настраиваемой) степенью детализации сведений о происходящих в системе событиях (ошибки, предупреждения, сообщения), обычно в файл. В абсолютном большинстве современных программ используются текстовые файлы протоколов (одно событие — одна строка), они легко генерируются программой и анализируются человеком. Как исключение, в интерактивных утилитах (командной строки) сообщения о событиях выводятся прямо на экран пользователю, однако и этот вывод при необходимости можно перенаправить в файл.
Исследование содержимого файла регистрации ошибок после возникновения неполадок часто позволяет понять их причины.
Наиболее подходящей парадигмой для решения задач ведения файлов регистрации считается аспектно-ориентированное программирование.
Ротация журналовПравить
При активном использовании сервера пользователями или очень подробном журналировании или просто продолжительном времени работы программного обеспечения, в журнале становится очень много записей, что приводит к следующим затруднениям:
- файл регистрации потребляет значительные ресурсы хранения,
- большой файл регистрации становится тяжёлым для чтения и анализа.
Таким образом бывает необходима ротация журналов — усечение текущего файла регистрации, архивирование или удаление предыдущих накопленных данных:
- по временному промежутку (каждый час, каждый день, за последние сутки/неделю) в новый файл.
- по достижении определённого объёма или количества записей.
- циклический журнал — методика хранения какого-то определённого объёма или количества записей, при этом новые записи удаляют самые старые записи, на базе такой структуры как кольцевой буфер.
- Каждый новый запуск экземпляра ПО создает новый файл лога или переименовывает/откладывает предыдущий файл лога.
Если автоматическая ротация журнала не предусмотрена при разработке программного обеспечения, то эта задача ложится на системных администраторов, которые автоматизируют её с помощью планировщиков, или специализированных утилит, как например logrotate.
См. такжеПравить
Для улучшения этой статьи желательно:
|