Trac Logging

TracGuideToc

Trac supports logging of system messages using the standard logging module part of Python 2.3 and newer.

Note: If you are using a Python version older than 2.3, the Trac logging mechanism will be silently disabled.

Logging is configured in the [logging] section in trac.ini.

Python 2.2 Workaround

If you are using Python 2.2, however, note that the logging package from Python 2.3 works perfectly under 2.2 as well; you can just copy the entire logging directory from the Python 2.3 library into the Python 2.2 lib directory. Perhaps not the most elegant solution, but it works.

Supported Logging Methods

  • none -- Suppress all log messages.
  • file -- Log messages to a file, specified with the log_file directive in trac.ini.
  • stderr -- Output all log entries to console (tracd only).
  • syslog -- (UNIX) Send messages to local syslogd via named pipe '/dev/log'.
  • winlog -- (Windows) Use the system's NT eventlog for Trac logging.

Log Levels

The level of verbosity of logged messages can be set using the log_level directive in trac.ini. The log level defines the minimum level of urgency required for a message to be logged.

The levels are:

  • CRITICAL -- Log only the most critical, typically fatal, messages.
  • ERROR -- Request failures, bugs and errors.
  • WARN -- Warnings, non-interrupting events.
  • INFO -- Diagnostic information, log information about all requests.
  • DEBUG -- Development messages, profiling, etc. Not fit for human consumption.

See also: TracIni, TracGuide, TracEnvironment