Metadata-Version: 2.1
Name: ctodd-python-lib-logging
Version: 1.0.0
Summary: Python utilities used for logging
Home-page: https://github.com/ChristopherHaydenTodd/ctodd-python-lib-logging
Author: Christopher H. Todd
Author-email: Christopher.Hayden.Todd@gmail.com
License: MIT
Description: # Christopher H. Todd's Python Library For Configuring Logging
        
        The ctodd-python-lib-logging project is responsible for configuring the logging for python scripts. Will set up the level, format of the messages, and the stream.
        
        ## Table of Contents
        
        - [Dependencies](#dependencies)
        - [Libraries](#libraries)
        - [Example Scripts](#example-scripts)
        - [Notes](#notes)
        - [TODO](#todo)
        
        ## Dependencies
        
        ### Python Packages
        
        - N/A
        
        ## Libraries
        
        ### [loggers.py](https://github.com/ChristopherHaydenTodd/ctodd-python-lib-logging/blob/master/logging_helpers/loggers.py)
        
        Library for getting loggers of specific configurations in Python. This will utilize Pythons built-in logging library and will return an instance of logging that can be implemented in any code that already implements the logging class.
        
        Functions:
        
        ```
        def get_stdout_logging(
            log_level=logging.INFO,
            log_msg_fmt="%(asctime)s.%(msecs)03d %(levelname)s %(message)s",
            log_date_fmt="%a, %d %b %Y %H:%M:%S",
            log_prefix=None,
        ):
            """
            Purpose:
                Get Logger to standard out.
            Args:
                log_level (log level from logging): Minimum level for messages to log
                log_msg_fmt (String): Mesage format for all logs with variable
                    substitution for known logging options
                log_date_fmt (Stringg): Dateformat to append to message
                log_prefix (String): prefix to append to message
            Return:
                logging (Python logging object): Configured logging object
            Examples:
                >>> logging = get_stdout_logging()
                or
                >>> logging =\
                    get_stdout_logging(
                        log_level=logging.DEBUG,
                        log_prefix='[test_script]: '',
                    )
            """
        ```
        
        ```
        def get_file_logger(
            log_file=None,
            log_filemode="a",
            log_level=logging.INFO,
            log_msg_fmt="%(asctime)s %(levelname)s %(message)s",
            log_date_fmt="%a, %d %b %Y %H:%M:%S",
            log_prefix=None,
        ):
            """
            Purpose:
                Get Logger to file
            Args:
                log_level (log level from logging): Minimum level for messages to log
                log_msg_fmt (String): Mesage format for all logs with variable
                    substitution for known logging options
                log_date_fmt (Stringg): Dateformat to append to message
                log_prefix (String): prefix to append to message
            Return:
                logging (Python logging object): Configured logging object
            Examples:
                >>> logging = get_file_logger()
                or
                >>> logging =\
                    get_file_logger(
                        log_level=logging.ERROR,
                        prefix='[test_script]: '',
                        log_file='./script_im_writing.log'
                    )
            """
        ```
        
        ```
        def clear_log_handlers():
            """
            Purpose:
                Remove previous log handlers and configurations. This
                will ensure that any new logging that is configured
                will take precedence, as logging is first setting
                is not overwritten.
            Args:
                N/A
            Return:
                N/A
            """
        ```
        
        ## Example Scripts
        
        Example executable Python scripts/modules for testing and interacting with the library. These show example use-cases for the libraries and can be used as templates for developing with the libraries or to use as one-off development efforts.
        
        ### [example_stdout_logger.py](https://github.com/ChristopherHaydenTodd/ctodd-python-lib-logging/blob/master/example_usage/example_stdout_logger.py)
        
        ```
        Example Logger. Configure to Output to CLI
        ```
        
        ## Notes
        
         - Relies on f-string notation, which is limited to Python3.6.  A refactor to remove these could allow for development with Python3.0.x through 3.5.x
        
        ## TODO
        
         - Unittest framework in place, but lacking tests
        
Keywords: python,libraries,logging,loggers
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >3.6
Description-Content-Type: text/markdown
