Trac 日志记录
Trac 支持使用 Python 的logging 模块记录系统消息。
日志记录在 TracIni 的 [logging] 部分配置。
支持的日志记录方法
日志方法通过 [logging] log_type 选项设置,该选项接受以下值:
- none
- 禁止所有日志消息。
- file
- 将日志消息记录到文件,通过 [logging] log_file 选项指定。
log_file
的相对路径是相对于环境log
目录解析的。 - stderr
- 将日志条目输出到控制台(仅限 tracd)。
- syslog
- (UNIX)通过命名管道
/dev/log
将日志消息发送到本地 syslogd。默认情况下,syslog 会将它们写入/var/log/messages
文件。 - eventlog
- (Windows)使用系统的 NT 事件日志。
日志级别
记录消息的详细程度可以通过 [logging] log_level 选项设置。日志级别定义了消息被记录所需的最低紧急级别,这些级别是:
- CRITICAL
- 仅记录最严重(通常是致命)的错误。
- ERROR
- 记录失败、缺陷和错误。
- WARN
- 记录警告、非中断事件。
- INFO
- 诊断信息,记录所有处理的信息。
- DEBUG
- 跟踪消息、性能分析等。
此外,您可以在调试级别启用 SQL 语句的日志记录。此功能默认关闭,因为它会产生大量信息。设置 [trac] debug_sql = yes 以激活。
日志格式
日志条目的输出格式可以在 [logging] log_format 选项中指定。该格式是一个字符串,可以包含任何 Python logging Formatter 变量。此外,还可以使用以下 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, TracEnvironment
注意: 查看 TracWiki 获取使用维基的帮助。