Metadata-Version: 2.4
Name: reconplogger
Version: 5.0.0.dev2
Summary: omni:us python logging package
Author-email: Mauricio Villegas <mauricio@omnius.com>
License-Expression: MIT
Project-URL: Documentation-stable, https://reconplogger.readthedocs.io/en/stable/
Project-URL: Documentation-latest, https://reconplogger.readthedocs.io/en/latest/
Project-URL: GitHub, https://github.com/omni-us/reconplogger
Project-URL: PyPI, https://pypi.org/project/reconplogger
Project-URL: Codecov, https://codecov.io/gh/omni-us/reconplogger
Platform: Any
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Intended Audience :: Developers
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Requires-Python: >=3.10
Description-Content-Type: text/x-rst
License-File: LICENSE.rst
Requires-Dist: python-json-logger>=3.2.1
Requires-Dist: PyYAML>=3.13
Provides-Extra: all
Requires-Dist: Flask>=1.1.1; extra == "all"
Requires-Dist: requests>=2.24.0; extra == "all"
Provides-Extra: test
Requires-Dist: pytest>=6.2.5; extra == "test"
Requires-Dist: pytest-cov>=4.0.0; extra == "test"
Requires-Dist: testfixtures==6.10.0; extra == "test"
Provides-Extra: dev
Requires-Dist: reconplogger[all]; extra == "dev"
Requires-Dist: reconplogger[test]; extra == "dev"
Requires-Dist: pre-commit>=2.19.0; extra == "dev"
Requires-Dist: tox>=3.25.0; extra == "dev"
Requires-Dist: build>=0.10.0; extra == "dev"
Provides-Extra: doc
Requires-Dist: Sphinx>=1.7.9; extra == "doc"
Requires-Dist: sphinx-rtd-theme>=1.2.2; extra == "doc"
Requires-Dist: autodocsumm>=0.1.10; extra == "doc"
Requires-Dist: sphinx-autodoc-typehints>=1.19.5; extra == "doc"
Provides-Extra: maintainer
Requires-Dist: bump2version>=0.5.11; extra == "maintainer"
Requires-Dist: twine>=4.0.2; extra == "maintainer"
Dynamic: license-file

.. image:: https://readthedocs.org/projects/reconplogger/badge/?version=stable
    :target: https://readthedocs.org/projects/reconplogger/
.. image:: https://codecov.io/gh/omni-us/reconplogger/branch/main/graph/badge.svg
    :target: https://codecov.io/gh/omni-us/reconplogger
.. image:: https://badge.fury.io/py/reconplogger.svg
    :target: https://badge.fury.io/py/reconplogger
.. image:: https://img.shields.io/badge/contributions-welcome-brightgreen.svg
    :target: https://github.com/omni-us/reconplogger

reconplogger - omni:us python logger
====================================

Docs: https://reconplogger.readthedocs.io/ | Source: https://github.com/omni-us/reconplogger/

This repository contains the code of reconplogger, a python package intended to
ease the standardization of logging within omni:us. The main design decision of
reconplogger is to allow total freedom to reconfigure loggers without hard
coding anything.

The package contains essentially the following things:

- A default logging configuration.
- A function for loading logging configuration for regular python code.
- A function for loading logging configuration for flask-based microservices.
- Root logger configuration via ``LOGGER_ROOT_HANDLER`` with independent ``LOGGER_ROOT_LEVEL`` control.
- Singleton logger setup (``logger_setup``); call ``reset_configs`` before reconfiguring.
- Automatic correlation ID management in Flask services via ``flask_app_logger_setup``.
- An inheritable class to add a logger property.
- A context manager to set and get the correlation id.
- Lower level functions for:

  - Loading logging configuration from any of: config file, environment variable, or default.
  - Replacing the handlers of an existing Logger object.
  - Function to add a file handler to a logger.
