Skip to content

devstuff-io/spylogger

Repository files navigation

Build Status

spylogger

Generic python logging library.

Documentation:

Installation

basic loggers

This installs spylogger only and will load the loggers with no external dependency requirements.

pip install spylogger

pretty loggers

This installs spylogger, pygments, and pygments-json and loads the basic loggers along with pretty loggers.

pip install spylogger[pretty]

Configuration

Environment Variables

Name Description Default
SPY_LOG_LOGGER

The configured logger name.

Available loggers:
  • json-flat
  • json
  • json-clean
  • json-src-key
  • pretty
  • pretty-no-meta
  • ugly
json-flat
SPY_LOG_LEVEL The python log level. See the python documentation WARNING
SPY_SHOW_META Flag for showing the `__meta` output. True
SPY_JSON_LOG_KEYS

A list of log record keys to put in the `__meta` section of the log message.

Available Keys:
  • args
  • created
  • exc_info
  • exc_text
  • filename
  • funcName
  • levelname
  • levelno
  • lineno
  • module
  • msecs
  • msg
  • name
  • pathname
  • process
  • processName
  • relativeCreated
  • thread
  • threadName
  • args
  • funcName
  • levelname
  • lineno
  • module
  • pathname
  • process
  • threadName

Pretty Formatter Styles

See the pygments documentation

Environment Variables

Name Default
SPY_LOG_FORMATTER_DEBUG autumn
SPY_LOG_FORMATTER_INFO monokai
SPY_LOG_FORMATTER_WARNING fruity
SPY_LOG_FORMATTER_ERROR default
SPY_LOG_FORMATTER_CRITICAL vs

Available styles

python -c "from pygments.styles import get_all_styles;print list(get_all_styles())"

Usage

from spylogger import get_logger

# get_logger(name=SPY_LOG_LOGGER, log_level=SPY_LOG_LEVEL)
logger = get_logger()

logger.info({'string': 'test Pretty info message.', 'int': 42, 'bool': True})

More examples are in example.py

Authors

See contributors section on GitHub.