= Trac Logging = = Журнал в Trac = [[TracGuideToc]] En-Version: TracLogging Trac поддерживает ведение журнала системных сообщений, используя стандартный модуль для ведения журналов, поставляемый вместе с Python. Ведение журнала настраивается в секции `[logging]` в [wiki:TracIni#logging-section trac.ini]. == Поддерживаемые методы ведения журнала == Метод ведения журнала задается опцией `log_type` в [wiki:TracIni#logging-section trac.ini], которая может принимать следующие значения: '''none''':: Скрывать все сообщения. '''file''':: Сохранять сообщения в файл, имя которого задает опция `log_file` в [wiki:TracIni#logging-section trac.ini]. '''stderr''':: Выдавать все сообщения на консоль (только для [wiki:TracStandalone tracd]). '''syslog''':: (UNIX) Посылать все сообщения локальной службе syslogd посредством конвейера `/dev/log`. По умолчанию syslog запишет сообщения в файл /var/log/messages. '''eventlog''':: (Windows) Использовать системный NT Event Log для ведения журнала. == Уровни журнала == Уровень подробности сообщений в журнале может быть задан опцией `log_level` в [wiki:TracIni#logging-section trac.ini]. Уровень подробности определяет минимальный уровень важности для сообщения, требуемый для попадания в журнал. Возможны следующие значения: '''CRITICAL''':: Сохранять сообщения только о самых важных (фатальных) ошибках. '''ERROR''':: Сохранять сообщения о отказах, сбоях и ошибках. '''WARN''':: Сохранять предостережения о событиях не прерывающих работу. '''INFO''':: Диагностическая информация, сохранять сообщения обо всех процессах. '''DEBUG''':: Трассировочные сообщения, профилирование и т.д. == Формат журнала == Начиная с Trac версии 0.10.4 (см. #2844) появилась возможность определять формат записей в журнале. Это можно сделать с помощью опции `log_format` в [wiki:TracIni#logging-section trac.ini]. Формат задается строкой, которая может содержать любые [http://docs.python.org/lib/node421.html переменные Formatter из Python]. Дополнительно могут быть использованы специфичные для Trac переменные: '''$(basename)s''':: Последняя составляющая пути для текущей среды. '''$(path)s''':: Абсолютный путь для текущей среды. '''$(project)s''':: Имя создаваемого проекта. Замечание: для идентификации этих переменных используется знак доллара (`$(...)s`) вместо знака процента (`%(...)s`). Форматирование по-умолчанию: {{{ log_format = Trac[$(module)s] $(levelname)s: $(message)s }}} В средах со многими проектами когда весь журнал сохраняется в одном месте (например `syslog`) уместно добавить имя проекта. В этом примере мы используем `basename`, это как правило однозначно определяет проект: {{{ log_format = Trac[$(basename)s:$(module)s] $(levelname)s: $(message)s }}} ---- Смотрите также: TracIni, TracGuide, TracEnvironment