Changes between Version 1 and Version 2 of TracLogging


Ignore:
Timestamp:
06/17/09 18:53:29 (16 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracLogging

    v1 v2  
    22[[TracGuideToc]] 
    33 
    4 Trac supports logging of system messages using the standard ''logging'' module part of Python 2.3 and newer. 
     4Trac supports logging of system messages using the standard [http://docs.python.org/lib/module-logging.html logging module] that comes with Python. 
    55 
    6 '''Note:''' If you are using a Python version older than 2.3, the Trac logging mechanism will be silently disabled. 
    7  
    8 Logging is configured in the {{{[logging]}}} section in [wiki:TracIni trac.ini]. 
    9  
    10 == Python 2.2 Workaround == 
    11 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. 
    12  
     6Logging is configured in the `[logging]` section in [wiki:TracIni#logging-section trac.ini]. 
    137 
    148== Supported Logging Methods == 
    15  * '''none''' -- Suppress all log messages. 
    16  * '''file''' -- Log messages to a file, specified with the ''log_file'' directive in [wiki:TracIni trac.ini].  
    17  * '''stderr''' -- Output all log entries to console ([wiki:TracStandalone tracd] only). 
    18  * '''syslog''' -- (UNIX) Send messages to local syslogd via named pipe '/dev/log'. 
    19  * '''winlog''' -- (Windows) Use the system's NT eventlog for Trac logging. 
     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. 
    2017 
    2118== Log Levels == 
    22 The level of verbosity of logged messages can be set using the ''log_level'' directive in [wiki:TracIni trac.ini]. The log level defines the minimum level of urgency required for a message to be logged. 
    2319 
    24 The levels are: 
    25  * ''CRITICAL'' -- Log only the most critical, typically fatal, messages. 
    26  * ''ERROR'' -- Request failures, bugs and errors.  
    27  * ''WARN'' -- Warnings, non-interrupting events. 
    28  * ''INFO'' -- Diagnostic information, log information about all requests. 
    29  * ''DEBUG'' -- Development messages, profiling, etc. Not fit for human consumption. 
     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}}} 
    3046 
    3147----