close
Warning:
Can't synchronize with repository "(default)" (/var/svn/mms does not appear to be a Subversion repository.). Look in the Trac log for more information.
- Timestamp:
-
Oct 25, 2018, 9:17:16 AM (7 years ago)
- Author:
-
trac
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
|
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 Python's [http://docs.python.org/library/logging.html logging module]. |
| 5 | 5 | |
| 6 | | Logging is configured in the `[logging]` section in [wiki:TracIni#logging-section trac.ini]. |
| | 6 | Logging is configured in the [TracIni#logging-section "[logging]"] section of TracIni. |
| 7 | 7 | |
| 8 | | == Supported Logging Methods == |
| | 8 | == Supported Logging Methods |
| 9 | 9 | |
| 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: |
| | 10 | The log method is set using the [TracIni#logging-log_type-option "[logging] log_type"] option, which accepts the following values: |
| 11 | 11 | |
| 12 | 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. |
| | 13 | '''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. |
| | 14 | '''stderr''':: Output log entries to console ([TracStandalone tracd] only). |
| | 15 | '''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. |
| | 16 | '''eventlog''':: (Windows) Use the system's NT Event Log. |
| 17 | 17 | |
| 18 | | == Log Levels == |
| | 18 | == Log Levels |
| 19 | 19 | |
| 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 | The 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, and those levels are: |
| 21 | 21 | |
| 22 | 22 | '''CRITICAL''':: Log only the most critical (typically fatal) errors. |
| … |
… |
|
| 26 | 26 | '''DEBUG''':: Trace messages, profiling, etc. |
| 27 | 27 | |
| 28 | | == Log Format == |
| | 28 | Additionally, 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. |
| 29 | 29 | |
| 30 | | Starting 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. |
| | 30 | == Log Format |
| | 31 | |
| | 32 | The 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: |
| | 33 | '''$(basename)s''':: The environment directory name. |
| | 34 | '''$(path)s''':: The absolute path of the environment directory. |
| 33 | 35 | '''$(project)s''':: The originating project's name. |
| 34 | 36 | |
| … |
… |
|
| 36 | 38 | |
| 37 | 39 | The default format is: |
| 38 | | {{{ |
| | 40 | {{{#!ini |
| 39 | 41 | log_format = Trac[$(module)s] $(levelname)s: $(message)s |
| 40 | 42 | }}} |
| 41 | 43 | |
| 42 | 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: |
| 43 | | {{{ |
| | 45 | {{{#!ini |
| 44 | 46 | log_format = Trac[$(basename)s:$(module)s] $(levelname)s: $(message)s |
| 45 | 47 | }}} |
| 46 | 48 | |
| 47 | 49 | ---- |
| 48 | | See also: TracIni, TracGuide, TracEnvironment |
| | 50 | See also: TracIni, TracEnvironment |