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]. Relative paths in `log_file` are resolved relative to the `log` directory of the environment.

'''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.

'''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:

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.

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

== Log Format ==

30

== Log Format

31

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.

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:

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: