Trac Logging
Журнал в Trac
Table of Contents
Trac поддерживает ведение журнала системных сообщений, используя стандартный модуль для ведения журналов, поставляемый вместе с Python.
Ведение журнала настраивается в секции [logging] в trac.ini.
Поддерживаемые методы ведения журнала
Метод ведения журнала задается опцией log_type в trac.ini, которая может принимать следующие значения:
- none
 - Скрывать все сообщения.
 - file
 - Сохранять сообщения в файл, имя которого задает опция 
log_fileв trac.ini. - stderr
 - Выдавать все сообщения на консоль (только для tracd).
 - syslog
 - (UNIX) Посылать все сообщения локальной службе syslogd посредством конвейера 
/dev/log. По умолчанию syslog запишет сообщения в файл /var/log/messages. - eventlog
 - (Windows) Использовать системный NT Event Log для ведения журнала.
 
Уровни журнала
Уровень подробности сообщений в журнале может быть задан опцией log_level в trac.ini. Уровень подробности определяет минимальный уровень важности для сообщения, требуемый для попадания в журнал. Возможны следующие значения:
- CRITICAL
 - Сохранять сообщения только о самых важных (фатальных) ошибках.
 - ERROR
 - Сохранять сообщения о отказах, сбоях и ошибках.
 - WARN
 - Сохранять предостережения о событиях не прерывающих работу.
 - INFO
 - Диагностическая информация, сохранять сообщения обо всех процессах.
 - DEBUG
 - Трассировочные сообщения, профилирование и т.д.
 
Формат журнала
Начиная с Trac версии 0.10.4 (см. #2844) появилась возможность определять формат записей в журнале. Это можно сделать с помощью опции log_format в trac.ini. Формат задается строкой, которая может содержать любые переменные 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


