X(), for low level debugging
Project description
X(), for low level debugging
X() is my function for low level ad hoc debug messages.
It takes a message and optional format arguments for use with %
.
It is presented here in its own module for reuse.
It normally writes directly to sys.stderr
but accepts an optional
keyword argument file
to specify a different filelike object.
If file
is not specified, its behaviour is further tweaked with
the globals X_discard
, X_logger
and X_via_tty
:
if X_logger then log a warning to that logger;
otherwise if X_via_tty then open /dev/tty and write the message to it;
otherwise if X_discard then discard the message;
otherwise write the message to sys.stderr.
X_discard
's default value is not sys.stderr.isatty()
.
Function X(msg, *args, **kw)
Unconditionally write the message msg
.
If there are positional arguments after msg
,
format msg
using %-expansion with those arguments.
Keyword arguments:
file
: optional keyword argument specifying the output file.colour
: optional text colour. If specified, surround the message with ANSI escape sequences to render the text in that colour.
If file
is not None, write to it unconditionally;
otherwise if X_logger then log a warning to that logger;
otherwise if X_via_tty then open /dev/tty and write the message to it;
otherwise if X_discard then discard the message;
otherwise write the message to sys.stderr.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.