Metadata-Version: 2.1
Name: logger_color
Version: 0.2.0
Summary: Color the log message headers and add more logging levels for diagnostics.
Home-page: https://github.com/vladimirs-git/logger-color
License: Apache-2.0
Keywords: logging,logger,color
Author: Vladimirs Prusakovs
Author-email: vladimir.prusakovs@gmail.com
Requires-Python: >=3.8,<4.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Provides-Extra: test
Project-URL: Bug Tracker, https://github.com/vladimirs-git/logger-color/issues
Project-URL: Download URL, https://github.com/vladimirs-git/logger-color/archive/refs/tags/0.2.0.tar.gz
Project-URL: Repository, https://github.com/vladimirs-git/logger-color
Description-Content-Type: text/x-rst


.. image:: https://img.shields.io/pypi/v/logger-color.svg
   :target: https://pypi.python.org/pypi/logger-color
.. image:: https://img.shields.io/badge/Python-3.8%20%7C%203.9%20%7C%203.10%20%7C%203.11-blue.svg
   :target: https://pypi.python.org/pypi/logger-color

logger-color
============

Color the log message headers and add more logging levels for diagnostics: DIAG_INFO, DIAG_WARNING.

============== ===== ===========
Level          Int   Color
============== ===== ===========
DEBUG          10    gray
INFO           20    green
WARNING        30    yellow
ERROR          40    red
CRITICAL       50    bold red
DIAG_INFO      21    blue
DIAG_WARNING   31    purple
============== ===== ===========

.. image:: https://github.com/vladimirs-git/logger-color/blob/main/docs/img/message_colors.png
   :alt: Message colors


Requirements
------------

Python >=3.8,<3.12


Installation
------------

Install the package from pypi.org release

.. code:: bash

    pip install logger-color

or install the package from github.com repository

.. code:: bash

    pip install git+https://github.com/vladimirs-git/logger-color


start_logging()
---------------
**start_logging(filename, mode, level, level_file, color, debug)** - Start logging
with the specified parameters


Parameters
----------

=========== ======= ======= ============================================================================================
Parameter   Type    Default Description
=========== ======= ======= ============================================================================================
filename    *str*           Writes messages to this file. By default, logging only to the terminal
mode        *str*   "w"     "w" - Writes to file (default), "a" - Appends to file
level       *str*   INFO    Logging level for the terminal: "DEBUG", "INFO" (default), "WARNING", "ERROR", "CRITICAL", "DIAG_INFO", "DIAG_WARNING"
level_file  *str*   level   Logging level for the file. By default, the same as `level` parameter
color       *bool*  True    True  - Prints a colored message to the terminal (default), False - Prints a monochrome message to the terminal
debug       *bool*  False   True  - Sets logging level to DEBUG (rewrites `level` parameter), works the same as level="DEBUG". False - Gets logging level from `level` parameter (default)
=========== ======= ======= ============================================================================================


debug()
-------
**debug(args, kwargs)** - Log a message with severity "DEBUG"


diag_info()
-----------
**diag_info(msg, args, kwargs)** - Log diagnostic message with severity "INFO"


diag_warning()
--------------
**diag_warning(msg, args, kwargs)** - Log diagnostic message with severity "WARNING"


info()
------
**info(args, kwargs)** - Log a message with severity "INFO"


warning()
---------
**warning(args, kwargs)** - Log a message with severity "WARNING"


error()
-------
**error(args, kwargs)** - Log a message with severity "ERROR"


critical()
----------
**warning(args, kwargs)** - Log a message with severity "CRITICAL"


**Example**

.. code:: python

    import logger_color

    logger_color.start_logging(filename="/var/log/test.log", level="debug", level_file="error")
    logger_color.debug("debug")
    logger_color.info("info")
    logger_color.warning("warning")
    logger_color.error("error")
    logger_color.critical("critical")
    logger_color.diag_info("diag_info")
    logger_color.diag_warning("diag_warning")
    # 2024-10-19 11:03:25.691 DEBUG    functions.debug: debug
    # 2024-10-19 11:03:25.691 INFO     functions.info: info
    # 2024-10-19 11:03:25.691 WARNING  functions.warning: warning
    # 2024-10-19 11:03:25.691 ERROR    functions.error: error
    # 2024-10-19 11:03:25.691 CRITICAL functions.critical: critical
    # 2024-10-19 11:03:25.691 DIAG_I   examples_messages.<module>: diag_info
    # 2024-10-19 11:03:25.691 DIAG_W   examples_messages.<module>: diag_warning

    # cat /var/log/test.log
    # 2024-10-19 11:03:25 ERROR    error
    # 2024-10-19 11:03:25 CRITICAL critical

