Changes between Version 1 and Version 2 of TracLogging
- Timestamp:
- Feb 13, 2021 12:24:55 AM (4 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TracLogging
v1 v2 1 = Trac Logging =1 = Trac Logging 2 2 [[TracGuideToc]] 3 3 4 Trac supports logging of system messages using the standard [http://docs.python.org/lib /module-logging.html logging module] that comes with Python.4 Trac supports logging of system messages using the standard [http://docs.python.org/library/logging.html logging module] that comes with Python. 5 5 6 Logging is configured in the {{{[logging]}}} section in [wiki:TracInitrac.ini].6 Logging is configured in the `[logging]` section in [wiki:TracIni#logging-section trac.ini]. 7 7 8 == Supported Logging Methods ==8 == Supported Logging Methods 9 9 10 The log method is set using the `log_type` configuration option, which takes any of the following values: 10 The log method is set using the `log_type` option in [wiki:TracIni#logging-section trac.ini], which takes any of the following values: 11 11 12 '''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. 13 14 '''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. 16 17 17 == Log Levels ==18 == Log Levels 18 19 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.20 The 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: 20 21 21 The levels are:22 22 '''CRITICAL''':: Log only the most critical (typically fatal) errors. 23 23 '''ERROR''':: Log failures, bugs and errors. … … 26 26 '''DEBUG''':: Trace messages, profiling, etc. 27 27 28 Additionally, 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 32 The 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 37 Note that variables are identified using a dollar sign (`$(...)s`) instead of percent sign (`%(...)s`). 38 39 The default format is: 40 {{{#!ini 41 log_format = Trac[$(module)s] $(levelname)s: $(message)s 42 }}} 43 44 In 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 46 log_format = Trac[$(basename)s:$(module)s] $(levelname)s: $(message)s 47 }}} 48 28 49 ---- 29 50 See also: TracIni, TracGuide, TracEnvironment