Development using Talisker¶
Talisker has been designed with the goal of working in development and production. This is to try and encourage the same tool used throughout.
Talisker’s default configuration is designed for production usage, e.g.:
only INFO level logs and above go to stderr
python’s warning system is disabled
If the DEVEL env var is set, Talisker will run in DEVEL mode.
What this means varies on which tool you are using, but at a base level it enables python’s warning logs, as you generally want these in development.
For Gunicorn, DEVEL mode means a few more things:
sets timeout to 99999, to avoid timeouts when debugging
it enables auto reloading on code changes
Also, for developer convenience, if you manually set Gunicorn’s debug level to DEBUG, when in DEVEL mode, Talisker will actually log debug level messages to stderr.
Talisker logs have been designed to be readable in development.
preserving the common first 4 fields in python logging for developer familiarity.
tags are rendered most-specific to least specific. This means that the tags a developer is interested in are likely first.
if stderr is an interactive tty, then logs are colorized, to aid human reading.
If in DEVEL mode, and stdout is a tty device, then Talisker will colorise log output.
To disable this, you can set the env var:
The colorscheme looks best on dark terminal backgrounds, but should be readable on light terminals too.
If your terminal doesn’t support bold, dim, or italic text formatting, it might look unpleasent. In that case, you can try the simpler colors