From 3aa8b1dd6e0f504ef83da99f8c9cdb2532f948f5 Mon Sep 17 00:00:00 2001 From: Rob Austein Date: Sun, 13 Sep 2020 23:10:21 +0000 Subject: Initial conversion pass --- raw-wiki-dump/TracLogging.md | 50 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 raw-wiki-dump/TracLogging.md (limited to 'raw-wiki-dump/TracLogging.md') 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 -- cgit v1.2.3