Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cs.x-20181231.tar.gz (2.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page