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