Файл журнала (Sgwl 'rjuglg)

Перейти к навигации Перейти к поиску

Файл журнала (протокол, журнал; англ. log) — файл с записями о событиях в хронологическом порядке, простейшее средство обеспечения журналирования. Различают регистрацию внешних событий и протоколирование работы самой программы — источника записей (хотя часто всё записывается в единый файл).

Регистрация внешних событий

[править | править код]

Журналы сервера — специальные файлы, в которых протоколируются определённые действия пользователя или программы на сервере. Например, в журналы веб-сервера записывается информация, откуда пришёл тот либо иной посетитель, когда и сколько времени он провел на сайте, что там смотрел и скачивал, какой у него браузер и какой IP-адрес у его компьютера. Каждая запись в лог-файле соответствует определённому хиту, так как сервер может фиксировать именно запрос к одному из элементов сайта.

Проанализировав файлы регистрации, можно получить сводные данные активности пользователей, изучить закономерности поведения групп пользователей и оценить эффективность рекламной кампании. Часто используемые данные (статистика) могут записываться сразу в базу данных, а не только в файл регистрации.

Протоколирование работы программы

[править | править код]

Ведение протокола (протоколирование) — хронологическая запись с различной (настраиваемой) степенью детализации сведений о происходящих в системе событиях (ошибки, предупреждения, сообщения), обычно в файл. В абсолютном большинстве современных программ используются текстовые файлы протоколов (одно событие — одна строка), они легко генерируются программой и анализируются человеком. Как исключение, в интерактивных утилитах (командной строки) сообщения о событиях выводятся прямо на экран пользователю, однако и этот вывод при необходимости можно перенаправить в файл.

Исследование содержимого файла регистрации ошибок после возникновения неполадок часто позволяет понять их причины.

Наиболее подходящей парадигмой для решения задач ведения файлов регистрации считается аспектно-ориентированное программирование.

Ротация журналов

[править | править код]

При активном использовании сервера пользователями или очень подробном журналировании или просто продолжительном времени работы программного обеспечения, в журнале становится очень много записей, что приводит к следующим затруднениям:

  • файл регистрации потребляет значительные ресурсы хранения,
  • большой файл регистрации становится тяжёлым для чтения и анализа.

Таким образом бывает необходима ротация журналов — усечение текущего файла регистрации, архивирование или удаление предыдущих накопленных данных:

  • по временному промежутку (каждый час, каждый день, за последние сутки/неделю) в новый файл.
  • по достижении определённого объёма или количества записей.
  • циклический журнал — методика хранения какого-то определённого объёма или количества записей, при этом новые записи удаляют самые старые записи, на базе такой структуры как кольцевой буфер.
  • Каждый новый запуск экземпляра ПО создает новый файл лога или переименовывает/откладывает предыдущий файл лога.

Если автоматическая ротация журнала не предусмотрена при разработке программного обеспечения, то эта задача ложится на системных администраторов, которые автоматизируют её с помощью планировщиков, или специализированных утилит, как например logrotate.

Журналы Windows

[править | править код]

Журналы Windows (не путать с приложением Windows Journal для заметок от руки) протоколируют работу как самой системы так и отдельных ее компонент.[1]

В актуальных версиях операционной системы Windows (7-11) существует несколько независимых систем журналирования событий. Так, некоторые компоненты операционной системы (например, сетевой экран) записывает журналы традиционным способом - в виде текстовых файлов с расширением "log", как правило, расположенных по адресу "%SystemRoot%\System32\LogFiles\" и "%SystemRoot%" (здесь и ниже пути указаны с использованием переменной среды %SystemRoot%, как правило, идентичной пути "C:\windows").

Другие (основные) системные журналы ведутся в формате ".evtx". Как правило, они расположены по адресу ""%SystemRoot%\System32\winevt\LogFiles\".

Для работы с ними в системе имеется специальный апплет "Просмотр событий" ("eventvwr.msc") , как правило, доступный через классическую панель управления, либо в подуровне "Администрирование" ("Панель управления\Все элементы панели управления\Администрирование"). Также в системной утилите PowerShell имеется множество инструментов для работы с логами в указанном формате[2].

Примечания

[править | править код]
  1. Karl-Bridge-Microsoft. Event Logging (Event Logging) - Win32 apps (амер. англ.). learn.microsoft.com (7 января 2021). Дата обращения: 8 июня 2023. Архивировано 9 июня 2023 года.
  2. Вертим логи как хотим ― анализ журналов в системах Windows. Хабр (20 марта 2018). Дата обращения: 8 июня 2023. Архивировано 9 июня 2023 года.