Skip to main content

PyLogFormats

Project description

PyLogFormats

PyPI Status Python Version License

Read the documentation at https://pylogformats.readthedocs.io/ Tests Codecov

pre-commit Black

Features

  • Json Formatters

    • AdvJsonFormat
    {
      "logger": "root",
      "timestamp": "2021-02-04T23:02:52.522958",
      "rtimestamp": "2021-02-04T23:02:37.518800",
      "message": "TEST",
      "level": "ERROR",
      "levelno": 40,
      "location": {
        "pathname": "<FULL_PATH>\\test_logger.py",
        "module": "test_logger",
        "filename": "test_logger.py",
        "function": "<module>",
        "line": 16
      },
      "process": {
        "number": 2300,
        "name": "MainProcess"
      },
      "thread": {
        "number": 12516,
        "name": "MainThread"
      },
      "v": 1
    }
    
    • BunyanFormat
    {
      "time": "2021-02-04T23:01:00.781Z",
      "name": "root",
      "pid": 15504,
      "level": 40,
      "msg": "TEST",
      "hostname": "HerculesPC",
      "v": 0
    }
    
    • JsonFormat
    {
      "logger": "root",
      "timestamp": "2021-02-04T23:01:46.435011",
      "message": "TEST",
      "level": "ERROR",
      "levelno": 40,
      "function": "<module>",
      "process": {
        "number": 13316,
        "name": "MainProcess"
      },
      "thread": {
        "number": 10704,
        "name": "MainThread"
      },
      "v": 1
    }
    
  • Text Formatters

    • SimpleTextFormat
    [DEBUG] [2021-02-04 23:01:46] A Test Debug Log
    
    • CompactTextFormat
    [D 2021-02-04 23:01:46 l:root f:<module> ln:5] A Test Log [includesExtras:Yes]
    

Installation

You can install PyLogFormats via pip from PyPI:

$ pip install pylogformats

Usage

For an explanation of this, and more usage instructions please visit the documentation

import logging
import sys

from pylogformats import JsonFormat

# Create the logging handler
handler = logging.StreamHandler(sys.stdout)

# Add the formatter class to the handler we just created.
handler.setFormatter(JsonFormat())

# Use basicConfig to setup the loggers.
logging.basicConfig(handlers=[handler], level=logging.DEBUG)

# Use the normal logging methods to see formatted logs in your terminal
logging.critical("Critical Log")
logging.error("Error Log")
logging.warning("Warning Log")
logging.info("Info Log")
logging.debug("Debug Log")

Contributing

Contributions are very welcome. To learn more, see the Contributor Guide.

License

Distributed under the terms of the MIT license, PyLogFormats is free and open source software.

Issues

If you encounter any problems, please file an issue along with a detailed description.

Credits

This project was generated from @cjolowicz's Hypermodern Python Cookiecutter template.

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

pylogformats-1.0.0.tar.gz (9.1 kB view hashes)

Uploaded Source

Built Distribution

pylogformats-1.0.0-py3-none-any.whl (12.3 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