summaryrefslogtreecommitdiff
path: root/raw-wiki-dump/TracLogging.md
diff options
context:
space:
mode:
Diffstat (limited to 'raw-wiki-dump/TracLogging.md')
-rw-r--r--raw-wiki-dump/TracLogging.md50
1 files changed, 50 insertions, 0 deletions
diff --git a/raw-wiki-dump/TracLogging.md b/raw-wiki-dump/TracLogging.md
new file mode 100644
index 0000000..9eb5f7f
--- /dev/null
+++ b/raw-wiki-dump/TracLogging.md
@@ -0,0 +1,50 @@
+# Trac Logging
+[[TracGuideToc]]
+
+Trac supports logging of system messages using the standard [logging module](http://docs.python.org/library/logging.html) that comes with Python.
+
+Logging is configured in the `[logging]` section in [wiki:TracIni#logging-section trac.ini].
+
+## Supported Logging Methods
+
+The log method is set using the `log_type` option in [wiki:TracIni#logging-section trac.ini], which takes any of the following values:
+
+ **none*:: Suppress all log messages.
+ **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.
+ **stderr**:: Output all log entries to console ([wiki:TracStandalone tracd] only).
+ **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.
+ **eventlog**:: (Windows) Use the system's NT Event Log for Trac logging.
+
+## Log Levels
+
+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:
+
+ **CRITICAL**:: Log only the most critical (typically fatal) errors.
+ **ERROR**:: Log failures, bugs and errors.
+ **WARN**:: Log warnings, non-interrupting events.
+ **INFO**:: Diagnostic information, log information about all processing.
+ **DEBUG**:: Trace messages, profiling, etc.
+
+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.
+
+## Log Format
+
+The output format for log entries can be specified through the `log_format` option in [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](wiki:TracIni#logging-section). Additonally, the following Trac-specific variables can be used:
+ **$(basename)s**:: The last path component of the current environment.
+ **$(path)s**:: The absolute path for the current environment.
+ **$(project)s**:: The originating project's name.
+
+Note that variables are identified using a dollar sign (`$(...)s`) instead of percent sign (`%(...)s`).
+
+The default format is:
+```#!ini
+log_format = Trac[$(module)s] $(levelname)s: $(message)s
+```
+
+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:
+```#!ini
+log_format = Trac[$(basename)s:$(module)s] $(levelname)s: $(message)s
+```
+
+----
+See also: TracIni, TracGuide, TracEnvironment