Package: pyfortified-logging
pyfortified-loggingThis Python project is an extension of the native Python componentloggingproviding more robust message formatting for standard and JSON logging output, and in addtion allowing for extra
content populated as dictionaries.pypi.orghttps://pypi.org/project/pyfortified-logging/Work In ProgressThe following still needs to be performed for this Python project:Unit-testing: This project will be switching over to using Python native Unit testing frameworkunittest.More concise documentation is required.Travis CIBadgesBadgesInstallpipinstallpyfortified_loggingArchitectureFunction: get_logger()defget_logger(logger_name,logger_version=None,logger_level=logging.INFO,logger_format=LoggingFormat.JSON,logger_output=LoggingOutput.STDOUT_COLOR,logger_handler=None):get_logger(): ParametersParameterPurposelogger_nameReturn a logger with the specified name or, if name is None, return a logger which is the root logger of the hierarchy.logger_versionlogger_formatLoggingFormatlogger_outputLoggingOutputlogger_handlerlogging.StreamHandler() or logging.FileHandler()Logging LevelsSame Python logging levels, including one additional level NOTE.LevelPurposeDEBUGDetailed information, typically of interest only when diagnosing problems.NOTEDetailed information, request processing, for example, request using cURL.INFOConfirmation that things are working as expected.[DEFAULT]WARNINGAn indication that something unexpected happened, or indicative of some problem in the near future. The software is still working as expected.ERRORDue to a more serious problem, the software has not been able to perform some function.CRITICALA serious error, indicating that the program itself may be unable to continue running.Logging FormatFormatPurposeSTANDARDStandard logging format.JSONJSON logging format.[DEFAULT]classLoggingFormat(object):"""TUNE Logging Format ENUM
    """STANDARD="standard"JSON="json"Logging OutputOutputPurposeSTDOUTStandard Output to terminalSTDOUT_COLORStandard Output using colored terminalFILEStandard Output to file created within./tmp/log_<epoch time seconds>.json.classLoggingOutput(object):"""Logging Format ENUM
    """STDOUT="stdout"STDOUT_COLOR="color"FILE="file"Logging JSON Formatimportloggingfrompyfortified_loggingimport(LoggingFormat,get_logger,__version__)log=get_logger(logger_name=__name__,logger_version=__version__,logger_format=LoggingFormat.JSON,logger_level=logging.NOTE)log.info("logging: info",extra={'test':__name__})log.note("logging: note",extra={'test':__name__})log.debug("logging: debug",extra={'test':__name__})log.warning("logging: warning",extra={'test':__name__})log.error("logging: error",extra={'test':__name__})log.critical("logging: critical",extra={'test':__name__})log.exception("logging: exception",extra={'test':__name__})Logging JSON Example Output$python3examples/example_logging_json.py{"asctime":"2018-05-11 05:41:39 -0700","levelname":"INFO","name":"__main__","version":"0.1.6","message":"logging: info","test":"__main__"}{"asctime":"2018-05-11 05:41:39 -0700","levelname":"NOTE","name":"__main__","version":"0.1.6","message":"logging: note","test":"__main__"}{"asctime":"2018-05-11 05:41:39 -0700","levelname":"WARNING","name":"__main__","version":"0.1.6","message":"logging: warning","test":"__main__"}{"asctime":"2018-05-11 05:41:39 -0700","levelname":"ERROR","name":"__main__","version":"0.1.6","message":"logging: error","test":"__main__"}{"asctime":"2018-05-11 05:41:39 -0700","levelname":"CRITICAL","name":"__main__","version":"0.1.6","message":"logging: critical","test":"__main__"}{"asctime":"2018-05-11 05:41:39 -0700","levelname":"ERROR","name":"__main__","version":"0.1.6","message":"logging: exception","exc_info":"NoneType: None","test":"__main__"}Requirementspyfortified-loggingmodule is built upon Python 3 and has dependencies upon
several Python modules available withinPython Package Index PyPI.makeinstall-requirementsorpython3-mpipuninstall--yes--no-input-rrequirements.txtpython3-mpipinstall--upgrade-rrequirements.txtDependenciescoloredlogs:https://pypi.python.org/pypi/coloredlogspprintpp:https://pypi.python.org/pypi/pprintpppython-json-logger:https://pypi.python.org/pypi/python-json-loggerPygments:https://pypi.python.org/pypi/Pygmentswheel:https://pypi.python.org/pypi/wheel