summaryrefslogtreecommitdiff
path: root/raw-wiki-dump/TracLogging.md
blob: 9eb5f7fb098185e9e5fba2fcc74387acba5457de (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

   

Trac Logging

[[TracGuideToc]]

Trac supports logging of system messages using the standard logging module that comes with Python.

Logging is configured in the [logging] section in [wiki:TracIni#logging-section trac.ini].

Supported Logging Methods

The log method is set using the log_type option in [wiki:TracIni#logging-section trac.ini], which takes any of the following values:

none*:: Suppress all log messages. file:: Log messages to a file, specified with the log_file option in [wiki:TracIni#logging-section trac.ini]. Relative paths in log_file are resolved relative to the log directory of the environment. stderr:: Output all log entries to console ([wiki:TracStandalone tracd] only). syslog:: (UNIX) Send all log messages to the local syslogd via named pipe /dev/log. By default, syslog will write them to the file /var/log/messages. eventlog**:: (Windows) Use the system's NT Event Log for Trac logging.

Log Levels

The verbosity level of logged messages can be set using the log_level option in [wiki:TracIni#logging-section trac.ini]. The log level defines the minimum level of urgency required for a message to be logged, and those levels are:

CRITICAL:: Log only the most critical (typically fatal) errors. ERROR:: Log failures, bugs and errors. WARN:: Log warnings, non-interrupting events. INFO:: Diagnostic information, log information about all processing. DEBUG:: Trace messages, profiling, etc.

Additionally, you can enable logging of SQL statements at debug level. This is turned off by default, as it's very verbose. Set [trac] debug_sql = yes in TracIni to activate.

Log Format

The output format for log entries can be specified through the log_format option in [trac.ini]. The format is a string which can contain any of the http://docs.python.org/library/logging.html#logrecord-attributes Python logging Formatter variables. Additonally, the following Trac-specific variables can be used: $(basename)s:: The last path component of the current environment. $(path)s:: The absolute path for the current environment. $(project)s:: The originating project's name.

Note that variables are identified using a dollar sign ($(...)s) instead of percent sign (%(...)s).

The default format is: ```#!ini log_format = Trac[$(module)s] $(levelname)s: $(message)s

In a multi-project environment where all logs are sent to the same place (e.g. `syslog`), it makes sense to add the project name. In this example we use `basename` since that can generally be used to identify a project:
```#!ini
log_format = Trac[$(basename)s:$(module)s] $(levelname)s: $(message)s

See also: TracIni, TracGuide, TracEnvironment