Changes between Initial Version and Version 1 of TracLogging


Ignore:
Timestamp:
Nov 13, 2011, 12:23:38 AM (13 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracLogging

    v1 v1  
     1= Trac Logging =
     2[[TracGuideToc]]
     3
     4Trac supports logging of system messages using the standard [http://docs.python.org/lib/module-logging.html logging module] that comes with Python.
     5
     6Logging is configured in the `[logging]` section in [wiki:TracIni#logging-section trac.ini].
     7
     8== Supported Logging Methods ==
     9
     10The log method is set using the `log_type` option in [wiki:TracIni#logging-section trac.ini], which takes any of the following values:
     11
     12 '''none'':: Suppress all log messages.
     13 '''file''':: Log messages to a file, specified with the `log_file` option in [wiki:TracIni#logging-section trac.ini].
     14 '''stderr''':: Output all log entries to console ([wiki:TracStandalone tracd] only).
     15 '''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.
     16 '''eventlog''':: (Windows) Use the system's NT Event Log for Trac logging.
     17
     18== Log Levels ==
     19
     20The 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:
     21
     22 '''CRITICAL''':: Log only the most critical (typically fatal) errors.
     23 '''ERROR''':: Log failures, bugs and errors.
     24 '''WARN''':: Log warnings, non-interrupting events.
     25 '''INFO''':: Diagnostic information, log information about all processing.
     26 '''DEBUG''':: Trace messages, profiling, etc.
     27
     28== Log Format ==
     29
     30Starting with Trac 0.10.4 (see #2844), it is possible to set the output format for log entries. This can be done through the `log_format` option in [wiki:TracIni#logging-section trac.ini]. The format is a string which can contain any of the [http://docs.python.org/lib/node422.html Python logging Formatter variables]. Additonally, the following Trac-specific variables can be used:
     31 '''$(basename)s''':: The last path component of the current environment.
     32 '''$(path)s''':: The absolute path for the current environment.
     33 '''$(project)s''':: The originating project's name.
     34
     35Note that variables are identified using a dollar sign (`$(...)s`) instead of percent sign (`%(...)s`).
     36
     37The default format is:
     38{{{
     39log_format = Trac[$(module)s] $(levelname)s: $(message)s
     40}}}
     41
     42In 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:
     43{{{
     44log_format = Trac[$(basename)s:$(module)s] $(levelname)s: $(message)s
     45}}}
     46
     47----
     48See also: TracIni, TracGuide, TracEnvironment