(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 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 ​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:

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: