# `tornado.log` — Logging support

Logging support for Tornado.

Tornado uses three logger streams:

- `tornado.access`: Per-request logging for Tornado’s HTTP servers (and potentially other servers in the future)
- `tornado.application`: Logging of errors from application code (i.e. uncaught exceptions from callbacks)
- `tornado.general`: General-purpose logging, including any errors or warnings from Tornado itself.

These streams may be configured independently using the standard library’s `logging` module. For example, you may wish to send `tornado.access` logs to a separate file for analysis.

class `tornado.log.``LogFormatter`(fmt='%(color)s[%(levelname)1.1s %(asctime)s %(module)s:%(lineno)d]%(end_color)s %(message)s', datefmt='%y%m%d %H:%M:%S', style='%', color=True, colors={10: 4, 20: 2, 30: 3, 40: 1})

  Log formatter used in Tornado.

  Key features of this formatter are:

  - Color support when logging to a terminal that supports it.
  - Timestamps on every log line.
  - Robust against str/bytes encoding problems.

  This formatter is enabled automatically by `tornado.options.parse_command_line` or `tornado.options.parse_config_file` (unless `--logging=none` is used).

  Color support on Windows versions that do not support ANSI color codes is enabled by use of the colorama library. Applications that wish to use this must first initialize colorama with a call to `colorama.init`. See the colorama documentation for details.

  Changed in version 4.5: Added support for `colorama`. Changed the constructor signature to be compatible with `logging.config.dictConfig`.

  Parameters:

  - color (bool) – Enables color support.
  - fmt (string) – Log message format. It will be applied to the attributes dict of log records. The text between `%(color)s` and `%(end_color)s` will be colored depending on the level if color support is on.
  - colors (dict) – color mappings from logging level to terminal color code
  - datefmt (string) – Datetime format. Used for formatting `(asctime)` placeholder in `prefix_fmt`.

  Changed in version 3.2: Added `fmt` and `datefmt` arguments.

`tornado.log.``enable_pretty_logging`(options=None, logger=None)

  Turns on formatted logging output as configured.

  This is called automatically by `tornado.options.parse_command_line` and `tornado.options.parse_config_file`.

`tornado.log.``define_logging_options`(options=None)

  Add logging-related flags to `options`.

  These options are present automatically on the default options instance; this method is only necessary if you have created your own `OptionParser`.

  New in version 4.2: This function existed in prior versions but was broken and undocumented until 4.2.