Skip to main content

Simple, performant logging with ANSI colors for Python.

Project description

ezlog

Simple, performant logging with ANSI colors for Python.
Published on PyPI as ezlog-py.

  • 6 levels: debug, info, success, warn, error, critical
  • Short aliases: d, i, s, w, e, c
  • ANSI colors: full palette
  • Stdlib integration: creating an EzLog wires it to stdlib logging automatically
  • Zero dependencies

Install

pip install ezlog-py

Usage

Create a logger; it wires itself to stdlib logging. Use log.i(), log.success(), and anywhere logging.info() / logger.error() also go through ezlog:

from ezlog import EzLog

log = EzLog()  # or EzLog({"useColors": True, "timestamp": False})

# Direct ezlog (includes .success() level)
log.success("Application started")
log.i("Hello")
log.w("Oops")
log.e("OMG")
log.d("hmmm..")

# Stdlib logging (wired internally; same formatting)
import logging
logging.info("From stdlib")
logging.error("Failed", exc_info=True)

Configuration

# Example: custom config (partial overrides)
log = EzLog({
    "useColors": True,
    "useLevels": True,
    "useSymbols": False,
    "timestamp": {
        "color": "white",
        "format": "%Y-%m-%d %H:%M:%S",
    },
    "levels": {
        "info": {"text": "Information"},
        "debug": False,      # disable debug in production
        "critical": False,   # or disable a level entirely
    },
})

Each option has a default and is optional.

  • useColors : boolean – Enable ANSI colors. Default True.
  • useLevels : boolean – Show level label/symbol in output. Default True.
  • useSymbols : boolean – Use symbol for level (if False, use text label). Default True.
  • timestamp : TimestampConfig or False – Configure timestamp, or set to False to disable.
  • levels : LevelsConfig – Keys: debug, info, success, warn, error, critical. Each value is a LevelConfig (partial override) or False to disable that level.

LevelConfig

  • color : LogColors – Level color (e.g. "light-red", "cyan").
  • text : str – Level label (e.g. "INFO", "Error").
  • symbol : str – Level symbol; validated with a safe fallback when the system doesn’t support the character.

TimestampConfig

  • format : str – strftime format (e.g. "%Y-%m-%d %H:%M:%S"). Default from ezlog.defaults.DEFAULT_TIMESTAMP_FORMAT.
  • color : LogColors or "as_levels" – Timestamp color. "as_levels" uses the same color as the log level. Default "as_levels".

Levels

  • Order (severity): debuginfosuccesswarnerrorcritical.
  • Short aliases: d, i, s, w, e, c.
  • Stdlib mapping: logging.DEBUG → debug, logging.INFO → info, logging.WARNING → warn, logging.ERROR → error, logging.CRITICAL → critical. NOTSET is skipped.
  • Default symbols and colors are in ezlog.defaults (DEFAULT_TEXTS, DEFAULT_COLORS, DEFAULT_SYMBOLS_FALLBACK).

Color properties

When useColors is enabled, the logger exposes: log.red, log.yellow, log.cyan, log.green, log.magenta, log.white, log.gray, log.reset. Use them for custom formatted output; end colored segments with log.reset.

Exports

  • EzLog(config?) – Create logger (wires to stdlib on construction). Config optional: EzLog() or EzLog({"useColors": True, "timestamp": False}).
  • TypesLogLevel, LogColors, TimestampColor, TimestampConfig, EzlogConfig, LevelsConfig, LevelConfig, LogArgs, ConsoleMethod.
  • Constants (from ezlog.defaults) – COLOR_CODES, RESET, DEFAULT_SYMBOLS_FALLBACK, DEFAULT_TEXTS, DEFAULT_COLORS, DEFAULT_TIMESTAMP_FORMAT, DEFAULT_TIMESTAMP_COLOR, DEFAULT_TIMESTAMP.

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

ezlog_py-1.0.5.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ezlog_py-1.0.5-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file ezlog_py-1.0.5.tar.gz.

File metadata

  • Download URL: ezlog_py-1.0.5.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ezlog_py-1.0.5.tar.gz
Algorithm Hash digest
SHA256 c2e4332742160e0bb9fb8680b3e5fd08eef68b1c6872da8474e8f43fb2aef609
MD5 75ee4d06a7ca15661b8a462de0adb7ac
BLAKE2b-256 bd30f6402deb168d99bac995f9d8cab142f174ebad3885421cd825a27801c538

See more details on using hashes here.

File details

Details for the file ezlog_py-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: ezlog_py-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ezlog_py-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 8dd38104ab5c61e613754678d55f02b9e4f8e436b9a42ba6a99e272abc2da65f
MD5 d6ef7eb4e2486f71085a9333bff4be32
BLAKE2b-256 b889df0810edb9e7af51b78badfaa2ab66bd4e1c3f6a8bd2c4385930b8e2e803

See more details on using hashes here.

Supported by

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