Edgewall Software

Changes between Version 2 and Version 3 of Trac Logging


Ignore:
Timestamp:
Dec 10, 2015, 6:49:23 AM (8 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Trac Logging

    v2 v3  
    1 = Trac Logging =
     1= Trac Logging
    22[[TracGuideToc]]
    33
    4 Trac supports logging of system messages using the standard [http://docs.python.org/lib/module-logging.html logging module] that comes with Python.
     4Trac supports logging of system messages using the standard [http://docs.python.org/library/logging.html logging module] that comes with Python.
    55
    6 Logging is configured in the {{{[logging]}}} section in [wiki:TracIni trac.ini].
     6Logging is configured in the `[logging]` section in [wiki:TracIni#logging-section trac.ini].
    77
    8 == Supported Logging Methods ==
     8== Supported Logging Methods
    99
    10 The log method is set using the `log_type` configuration option, which takes any of the following values:
     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
    1112 '''none'':: Suppress all log messages.
    12  '''file''':: Log messages to a file, specified with the `log_file` option in [wiki:TracIni trac.ini].
     13 '''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.
    1314 '''stderr''':: Output all log entries to console ([wiki:TracStandalone tracd] only).
    14  '''syslog''':: (UNIX) Send messages to local syslogd via named pipe `/dev/log`.
    15  '''eventlog''':: (Windows) Use the system's NT eventlog for Trac logging.
     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.
    1617
    17 == Log Levels ==
     18== Log Levels
    1819
    19 The verbosity level 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.
     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:
    2021
    21 The levels are:
    2222 '''CRITICAL''':: Log only the most critical (typically fatal) errors.
    2323 '''ERROR''':: Log failures, bugs and errors.
     
    2626 '''DEBUG''':: Trace messages, profiling, etc.
    2727
     28Additionally, 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.
     29
     30== Log Format
     31
     32The output format for log entries can be specified 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/library/logging.html#logrecord-attributes Python logging Formatter variables]. Additonally, the following Trac-specific variables can be used:
     33 '''$(basename)s''':: The last path component of the current environment.
     34 '''$(path)s''':: The absolute path for the current environment.
     35 '''$(project)s''':: The originating project's name.
     36
     37Note that variables are identified using a dollar sign (`$(...)s`) instead of percent sign (`%(...)s`).
     38
     39The default format is:
     40{{{#!ini
     41log_format = Trac[$(module)s] $(levelname)s: $(message)s
     42}}}
     43
     44In 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:
     45{{{#!ini
     46log_format = Trac[$(basename)s:$(module)s] $(levelname)s: $(message)s
     47}}}
     48
    2849----
    2950See also: TracIni, TracGuide, TracEnvironment