Python `logging` 功能的扩展。
项目描述
.. -*- mode: rst -*-
pyfortified-logging-slim
--------------------
这个 Python 项目是原生 Python 组件 `logging <https ://docs.python.org/3/library/logging.html>`_
为标准和 JSON 日志输出提供更强大的消息格式,此外还允许将额外
内容填充为字典。
重要说明
^^^^^^^^^^^^^^
这个 Python 项目是对 `logging-mv-integrations <https://pypi.org/project/logging-mv-integrations/>`_ 的
重构一般使用意图的目的。
正在进行的工作
^^^^^^^^^^^^^^^^
此 Python 项目仍需要执行以下操作:
- 单元测试:该项目将切换到使用 Python 原生单元测试框架`unittest <https://docs.python.org/3/library/unittest.html>`_。
- 需要更简洁的文档。
- Travis CI
- Badges
Badges
------
安装
-------
.. code-block:: bash
pip install pyfortified_logging_slim
Architecture
------------
Function: get_logger()
- ---------------------
.. 代码块:: python
def get_logger(
logger_name,
logger_version=None,
logger_level=logging.INFO,
logger_format=LoggingFormat.JSON,
logger_output=LoggingOutput.STDOUT_COLOR,
logger_handler=None
):
get_logger(): 参数 ^^^^^^^^^^^^^^^^^^^^^^^
+
--------------- --+----------------------------------------------- -------------------------------------------------- ------------------------------------+
| 参数 | 目的 |
+==================+================================ ==================================================== ==========================================+
| 记录器名称 | 返回具有指定名称的记录器,或者,如果名称为 None,则返回作为层次结构的根记录器的记录器。|
+-----------------+-------------------------------- -------------------------------------------------- ----------------------------------------------------+
| 记录器版本 | |
+-----------------+-------------------------------- -------------------------------------------------- ----------------------------------------------------+
| 记录器格式 | 记录格式 |
+-----------------+-------------------------------- -------------------------------------------------- ----------------------------------------------------+
| 记录器输出 | 记录输出 |
+-----------------+-------------------------------- -------------------------------------------------- ----------------------------------------------------+
| logger_handler | logging.StreamHandler() 或 logging.FileHandler() |
+-----------------+-------------------------------- -------------------------------------------------- ----------------------------------------------------+
日志记录级别
^^^^^^^ ^^^^^^^
相同的 Python 日志记录级别,包括一个附加级别 注意。
+------------+------------------------------------ -------------------------------------------------- -------------------------------------------------- --------+
| 水平 | 目的 |
+============+===================================== ==================================================== ==================================================== ========+
| 调试 | 详细信息,通常仅在诊断问题时才有意义。|
+------------+------------------------------------ -------------------------------------------------- -------------------------------------------------- --------+
| 注意 | 详细信息,请求处理,例如使用 cURL 的请求。|
+------------+------------------------------------ -------------------------------------------------- -------------------------------------------------- --------+
| 信息 | 确认事情按预期工作。*[默认]* |
+------------+------------------------------------ -------------------------------------------------- -------------------------------------------------- --------+
| 警告 | 表示发生了意外的事情,或表示在不久的将来会出现一些问题。该软件仍按预期工作。|
+------------+------------------------------------ -------------------------------------------------- -------------------------------------------------- --------+
| 错误 | 由于更严重的问题,该软件无法执行某些功能。|
+------------+------------------------------------ -------------------------------------------------- -------------------------------------------------- --------+
| 关键 | 严重错误,表明程序本身可能无法继续运行。|
+------------+------------------------------------ -------------------------------------------------- -------------------------------------------------- --------+
记录格式
^^^^^^^^^^^^^^
+------------+-------- -------------------------------------------------- ---------------------------------+
| 格式 | 目的 |
+============+===================================== ==================================================== ==================+
| 标准 | 标准日志记录格式。|
+------------+------------------------------------ -------------------------------------------------- -----------------+
| JSON | JSON 日志记录格式。*[默认]* |
+------------+------------------------------------ -------------------------------------------------- -----------------+
.. code-block:: python
class LoggingFormat(object):
"""TUNE Logging Format ENUM
"""
STANDARD = "standard"
JSON = " json"
记录输出
^^^^^^^^^^^^^^
+--------------+---------------- -------------------------------------------------- ----------------------------+
| 输出 | 目的 |
+==============+=================================== ==================================================== ===========+
| 标准输出 | 标准输出到终端 |
+--------------+---------------------------------- -------------------------------------------------- ----------+
| STDOUT_COLOR | 使用彩色终端的标准输出 |
+--------------+---------------------------------- -------------------------------------------------- ----------+
| 文件 | 标准输出到在 *./tmp/log_<epoch time seconds>.json* 中创建的文件。|
+--------------+---------------------------------- -------------------------------------------------- ----------+
.. 代码块:: python
类 LoggingOutput(object):
"""记录格式 ENUM
"""
STDOUT = "stdout"
STDOUT_COLOR = "color"
FILE = "file"
记录 JSON 格式
^^^^^^^^^^^^^^^^^^
.. 代码- block:: python
import logging
from pyfortified_logging_slim import (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__})
记录 JSON 示例输出
^^^^^^^^^^^^^^^ ^^^^^^^^^^^
.. 代码块:: bash
$ python3 示例
/example_logging_json.py {"asctime": "2018-05-11 05:41:39 -0700", "levelname": “信息”,“名称”:“__main__”,
“版本”:“0.1.6”,“消息”:“日志记录:信息”,“测试”:“__main__”}
{“asctime”:“2018-05-11 05:41:39 -0700”,“levelname”:“NOTE”,“name”:“__main__”,
“version”:“0.1.6”,“message”:“logging:note” , "测试": "__main__"}
{“asctime”:“2018-05-11 05:41:39 -0700”,“级别名称”:“警告”,“名称”:“__main__”,
“版本”:“0.1.6”,“消息”: “记录:警告”,“测试”:“__main__”}
{“asctime”:“2018-05-11 05:41:39 -0700”,“级别名称”:“错误”,“名称”:“__main__”,
“版本”:“0.1.6”,“消息”:“记录:错误”,“测试”:“__main__”}
{“asctime”:“2018-05-11 05:41:39 -0700”,“级别名称” “:“关键”,“名称”:“__main__”,
“版本”:“0.1.6”,“消息”:“日志记录:关键”,“测试”:“__main__”}
{“asctime”:“2018-05-11 05:41:39 -0700”,“级别名称”:“错误”,“名称”:“__main__”,
“版本” : "0.1.6", "message": "logging: exception", "exc_info": "NoneType: None",
"test": "__main__"}
要求
------------测试”:“__main__”}要求------------测试”:“__main__”}要求------------
``pyfortified-logging-slim`` 模块是基于 Python 3 构建的,并且依赖
于 `Python Package Index PyPI <https://pypi.python.org/pypi>`_ 中可用的几个 Python 模块。
.. code-block:: bash
make install-requirements
或
.. code-block:: bash
python3 -m pip uninstall --yes --no-input -r requirements.txt
python3 -m pip install --upgrade -r requirements .txt
依赖^^^^^^^^^^^^ - 彩色日志: https://pypi.python.org/pypi/coloredlogs -
pprintpp : https://pypi.python.org/pypi/pprintpp - python- json 记录器:https ://pypi.python.org/pypi/python-json-logger -Pygments:https://pypi.python.org/pypi/Pygments
- 轮子:https://pypi.python.org/pypi/wheel
pyfortified-logging-slim
--------------------
这个 Python 项目是原生 Python 组件 `logging <https ://docs.python.org/3/library/logging.html>`_
为标准和 JSON 日志输出提供更强大的消息格式,此外还允许将额外
内容填充为字典。
重要说明
^^^^^^^^^^^^^^
这个 Python 项目是对 `logging-mv-integrations <https://pypi.org/project/logging-mv-integrations/>`_ 的
重构一般使用意图的目的。
正在进行的工作
^^^^^^^^^^^^^^^^
此 Python 项目仍需要执行以下操作:
- 单元测试:该项目将切换到使用 Python 原生单元测试框架`unittest <https://docs.python.org/3/library/unittest.html>`_。
- 需要更简洁的文档。
- Travis CI
- Badges
Badges
------
安装
-------
.. code-block:: bash
pip install pyfortified_logging_slim
Architecture
------------
Function: get_logger()
- ---------------------
.. 代码块:: python
def get_logger(
logger_name,
logger_version=None,
logger_level=logging.INFO,
logger_format=LoggingFormat.JSON,
logger_output=LoggingOutput.STDOUT_COLOR,
logger_handler=None
):
get_logger(): 参数 ^^^^^^^^^^^^^^^^^^^^^^^
+
--------------- --+----------------------------------------------- -------------------------------------------------- ------------------------------------+
| 参数 | 目的 |
+==================+================================ ==================================================== ==========================================+
| 记录器名称 | 返回具有指定名称的记录器,或者,如果名称为 None,则返回作为层次结构的根记录器的记录器。|
+-----------------+-------------------------------- -------------------------------------------------- ----------------------------------------------------+
| 记录器版本 | |
+-----------------+-------------------------------- -------------------------------------------------- ----------------------------------------------------+
| 记录器格式 | 记录格式 |
+-----------------+-------------------------------- -------------------------------------------------- ----------------------------------------------------+
| 记录器输出 | 记录输出 |
+-----------------+-------------------------------- -------------------------------------------------- ----------------------------------------------------+
| logger_handler | logging.StreamHandler() 或 logging.FileHandler() |
+-----------------+-------------------------------- -------------------------------------------------- ----------------------------------------------------+
日志记录级别
^^^^^^^ ^^^^^^^
相同的 Python 日志记录级别,包括一个附加级别 注意。
+------------+------------------------------------ -------------------------------------------------- -------------------------------------------------- --------+
| 水平 | 目的 |
+============+===================================== ==================================================== ==================================================== ========+
| 调试 | 详细信息,通常仅在诊断问题时才有意义。|
+------------+------------------------------------ -------------------------------------------------- -------------------------------------------------- --------+
| 注意 | 详细信息,请求处理,例如使用 cURL 的请求。|
+------------+------------------------------------ -------------------------------------------------- -------------------------------------------------- --------+
| 信息 | 确认事情按预期工作。*[默认]* |
+------------+------------------------------------ -------------------------------------------------- -------------------------------------------------- --------+
| 警告 | 表示发生了意外的事情,或表示在不久的将来会出现一些问题。该软件仍按预期工作。|
+------------+------------------------------------ -------------------------------------------------- -------------------------------------------------- --------+
| 错误 | 由于更严重的问题,该软件无法执行某些功能。|
+------------+------------------------------------ -------------------------------------------------- -------------------------------------------------- --------+
| 关键 | 严重错误,表明程序本身可能无法继续运行。|
+------------+------------------------------------ -------------------------------------------------- -------------------------------------------------- --------+
记录格式
^^^^^^^^^^^^^^
+------------+-------- -------------------------------------------------- ---------------------------------+
| 格式 | 目的 |
+============+===================================== ==================================================== ==================+
| 标准 | 标准日志记录格式。|
+------------+------------------------------------ -------------------------------------------------- -----------------+
| JSON | JSON 日志记录格式。*[默认]* |
+------------+------------------------------------ -------------------------------------------------- -----------------+
.. code-block:: python
class LoggingFormat(object):
"""TUNE Logging Format ENUM
"""
STANDARD = "standard"
JSON = " json"
记录输出
^^^^^^^^^^^^^^
+--------------+---------------- -------------------------------------------------- ----------------------------+
| 输出 | 目的 |
+==============+=================================== ==================================================== ===========+
| 标准输出 | 标准输出到终端 |
+--------------+---------------------------------- -------------------------------------------------- ----------+
| STDOUT_COLOR | 使用彩色终端的标准输出 |
+--------------+---------------------------------- -------------------------------------------------- ----------+
| 文件 | 标准输出到在 *./tmp/log_<epoch time seconds>.json* 中创建的文件。|
+--------------+---------------------------------- -------------------------------------------------- ----------+
.. 代码块:: python
类 LoggingOutput(object):
"""记录格式 ENUM
"""
STDOUT = "stdout"
STDOUT_COLOR = "color"
FILE = "file"
记录 JSON 格式
^^^^^^^^^^^^^^^^^^
.. 代码- block:: python
import logging
from pyfortified_logging_slim import (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__})
记录 JSON 示例输出
^^^^^^^^^^^^^^^ ^^^^^^^^^^^
.. 代码块:: bash
$ python3 示例
/example_logging_json.py {"asctime": "2018-05-11 05:41:39 -0700", "levelname": “信息”,“名称”:“__main__”,
“版本”:“0.1.6”,“消息”:“日志记录:信息”,“测试”:“__main__”}
{“asctime”:“2018-05-11 05:41:39 -0700”,“levelname”:“NOTE”,“name”:“__main__”,
“version”:“0.1.6”,“message”:“logging:note” , "测试": "__main__"}
{“asctime”:“2018-05-11 05:41:39 -0700”,“级别名称”:“警告”,“名称”:“__main__”,
“版本”:“0.1.6”,“消息”: “记录:警告”,“测试”:“__main__”}
{“asctime”:“2018-05-11 05:41:39 -0700”,“级别名称”:“错误”,“名称”:“__main__”,
“版本”:“0.1.6”,“消息”:“记录:错误”,“测试”:“__main__”}
{“asctime”:“2018-05-11 05:41:39 -0700”,“级别名称” “:“关键”,“名称”:“__main__”,
“版本”:“0.1.6”,“消息”:“日志记录:关键”,“测试”:“__main__”}
{“asctime”:“2018-05-11 05:41:39 -0700”,“级别名称”:“错误”,“名称”:“__main__”,
“版本” : "0.1.6", "message": "logging: exception", "exc_info": "NoneType: None",
"test": "__main__"}
要求
------------测试”:“__main__”}要求------------测试”:“__main__”}要求------------
``pyfortified-logging-slim`` 模块是基于 Python 3 构建的,并且依赖
于 `Python Package Index PyPI <https://pypi.python.org/pypi>`_ 中可用的几个 Python 模块。
.. code-block:: bash
make install-requirements
或
.. code-block:: bash
python3 -m pip uninstall --yes --no-input -r requirements.txt
python3 -m pip install --upgrade -r requirements .txt
依赖^^^^^^^^^^^^ - 彩色日志: https://pypi.python.org/pypi/coloredlogs -
pprintpp : https://pypi.python.org/pypi/pprintpp - python- json 记录器:https ://pypi.python.org/pypi/python-json-logger -Pygments:https://pypi.python.org/pypi/Pygments
- 轮子:https://pypi.python.org/pypi/wheel
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
pyfortified-logging-slim-0.1.10.tar.gz
(30.5 kB
查看哈希)
关
pyfortified -logging-slim-0.1.10.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | a1ce92934ca83a1f88c50cf09bc1669523bed4a70454a885dc60701cabbc3c1f |
|
| MD5 | 037df77b3fc0fd8167a57d5a9b7784f3 |
|
| 布莱克2-256 | 6249d733e9265edebb93e15335306eaf7d797c77a928d251a4f65802311f7d60 |