Skip to main content

out-of-the-box, ready-to-use JSON logger

Project description

jonson

out-of-the-box, ready-to-use JSON logger

from jonson import logger

logger.info("Something going as expected", { "host": socket.gethostname() })
logger.warn("Something must have gone terribly wrong")

except Exception as e:
    logger.error(e, { description: "something descriptive" })

Log level

Create logger instance with a minimal log level

from jonson import Logger

logger = Logger("warn")

logger.info("Something going as expected", { "host": socket.gethostname() }) # ignored
logger.warn("Something must have gone terribly wrong") # sent

Log levels hirarchy

A few synonyms are available for convenience

  1. trace, verbose
  2. debug
  3. info, log
  4. warn
  5. error
  6. critical, fatal, panic

For example, a logger with log level "warn" will only print logs with level "warn", "error", or "critical".

Arguments

Create: Logger class accepts one or two arguments:

  1. {string} Case insensitive name of minimal log level. defaults to "info"
  2. {dictionary} {'Key':'Value'} pairs, optional. Persistent enrichment fields for all log records
logger = Logger(os.environ["LOG_LEVEL"], { "host": socket.gethostname() })

Send: Logger functions accept one or two arguments:

  1. {any} Record's "message" field. Traditionally this would be a string or an exception.
  2. {dictionary} {'Key':'Value'} pairs, optional. Values should be JSON serializable
logger.info("something, something", { dark: "side" })

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

jonson-1.1.1.tar.gz (3.7 kB view hashes)

Uploaded Source

Built Distribution

jonson-1.1.1-py3-none-any.whl (4.0 kB view hashes)

Uploaded Python 3

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