Edgewall Software

Changes between Initial Version and Version 24 of TracLogging


Ignore:
Timestamp:
(multiple changes)
Author:
(multiple changes)
Comment:
(multiple changes)

Legend:

Unmodified
Added
Removed
Modified
  • TracLogging

    v1 v24  
     1= Trac Logging
     2[[TracGuideToc]]
     3[[TranslatedPages]]
     4
     5Trac supports logging of system messages using Python's [https://docs.python.org/2/library/logging.html logging module].
     6
     7Logging is configured in the [TracIni#logging-section "[logging]"] section of TracIni.
     8
     9== Supported Logging Methods
     10
     11The log method is set using the [TracIni#logging-log_type-option "[logging] log_type"] option, which accepts the following values:
     12
     13 '''none'':: Suppress all log messages.
     14 '''file''':: Log messages to a file, specified with the [TracIni#logging-log_file-option "[logging] log_file"] option. Relative paths for `log_file` are resolved relative to the environment `log` directory.
     15 '''stderr''':: Output log entries to console ([TracStandalone tracd] only).
     16 '''syslog''':: (UNIX) Send log messages to the local syslogd via named pipe `/dev/log`. By default, syslog will write them to the `/var/log/messages` file.
     17 '''eventlog''':: (Windows) Use the system's NT Event Log.
     18
     19== Log Levels
     20
     21The verbosity level of logged messages can be set using the [TracIni#logging-log_level-option "[logging] log_level"] option. The log level defines the minimum level of urgency required for a message to be logged:
     22
     23 '''CRITICAL''':: Log only the most critical (typically fatal) errors.
     24 '''ERROR''':: Log failures, bugs and errors.
     25 '''WARN''':: Log warnings, non-interrupting events.
     26 '''INFO''':: Diagnostic information, log information about all processing.
     27 '''DEBUG''':: Trace messages, profiling, etc.
     28
     29Additionally, you can enable logging of SQL statements at debug level. This is turned off by default, as it's very verbose. Set [TracIni#trac-debug_sql-option "[trac] debug_sql  = yes"] to activate.
     30
     31== Log Format
     32
     33The output format for log entries can be specified in the [TracIni#logging-log_format-option "[logging] log_format"] option. The format is a string which can contain any of the [https://docs.python.org/2/library/logging.html#logrecord-attributes Python logging Formatter variables]. Additionally, the following Trac-specific variables can be used:
     34 '''$(basename)s''':: The environment directory name.
     35 '''$(path)s''':: The absolute path of the environment directory.
     36 '''$(project)s''':: The originating project's name.
     37
     38Note that variables are identified using a dollar sign (`$(...)s`) instead of percent sign (`%(...)s`).
     39
     40The default format is:
     41{{{#!ini
     42log_format = Trac[$(module)s] $(levelname)s: $(message)s
     43}}}
     44
     45In 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` as that can generally be used to identify a project:
     46{{{#!ini
     47log_format = Trac[$(basename)s:$(module)s] $(levelname)s: $(message)s
     48}}}
     49
     50----
     51See also: TracIni, TracEnvironment