Skip to main content

Python 日志库,用于使用附加信息扩充日志记录

项目描述

logaugment
==========

Python 日志库,用于使用附加信息扩充日志记录。

该库支持 Python 2.7.x 和 Python 3.1+。

如果您想在记录的字符串中使用自定义键:

..code::python

formatter = logging.Formatter("%(message)s:%(custom_key)s")

那么这个库允许您轻松设置它们:

.. 代码: : python

logaugment.set(logger, custom_key='custom_value')
logger.warn("My message")
# My message: custom_value

这允许您安全地进行日志调用,而不会
出现这些键丢失的异常。如果您希望覆盖
特定日志记录调用的值,请参见下文。

安装
============

你可以用 pip 安装库:

.. code:: bash

$ pip install logaugment

Overview
========

这个库提供了三个功能:

.. 代码: : python

# 设置记录器的自定义键和值。
logaugment.set(logger, custom_key='custom_value')

# 除了已经设置的键和值之外,还添加自定义键和值。
logaugment.add(logger, custom_key='custom_value')

# 删除记录器的所有自定义键和值。
logaugment.reset(logger)

您可以使用 `logaugment.set` 为给定的记录器指定自定义值。

您可以使用 `logaugment.add` 来保留已
设置的自定义值并添加新值。如果您要重新定义自定义键/值,则将
使用此值而不是之前的值。你不应该仅仅为了改变值而重复
调用 `logaugment.add`;在这种情况下,最好
使用 `logaugment.set`。

您可以使用 `logaugment.reset` 删除
使用 `logaugment` 库添加的所有附加值。

为什么?
====

如果您需要将自定义键添加到您的 Python 日志记录字符串,您需要
在每次日志记录调用时将它们传入。这很不方便,所以这个库
只允许您添加一次值,然后它们可用于
之后的所有日志记录调用。

这是一个完整的例子:

.. code:: python

import logging

import logaugment

logger = logging.getLogger()
handler = logging.StreamHandler()
formatter = logging.Formatter("%(message)s: %(custom_key)s") handler.setFormatter
(formatter)
logger.addHandler(handler)

logaugment.add(logger, custom_key='custom_value')
logger.warn("My message")
# My message: custom_value

Examples
========

你可以使用指定附加值的关键字:

.. code:: python

logaugment.add(logger, custom_key='custom_value')
logger.warn("My message")
# My message: 自定义值

您还可以使用字典或集合的子类 。映射
来指定键/值:

.. code:: python

logaugment.add(logger, {'custom_key': 'custom_value'})
logger.warn("My message")
# 我的消息:custom_value

你也可以使用返回字典的函数:

.. code:: python

def process_record(record):
return {'custom_key': record.levelname}

logaugment.add(logger, process_record)
logger.warn( "My message")
# My message: WARNING

You can pass a `extra` dictionary in the call which override the
augmented data:

.. code:: python

logaugment.add(logger, {'custom_key': 'custom_value'})
logger.warn("My message", extra={'custom_key': 'extra_value'})
# My message: extra_value


Changelog
======= ==

0.1.3(2014 年 9 月 28 日)
----------------

* 添加了检查以确保至少提供一个参数。

0.1.2(2014 年 9 月 18 日)
--------------------------

* 添加了 logaugment.set,它调用了 reset() 和 add()命令。
* 使 logaugment.add 适用于所有 collections.Mapping 实例。

0.1.1(2014 年 9 月 8 日)
------------------------- * 修复 了在后续 logaugment.add 调用

中未使用最新值的问题
.
* 添加 logaugment.reset 以使用 logaugment 撤消所有添加。

0.1(2014 年 8 月 30 日)
---------------------

* 初始版本。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

logaugment-0.1.3.tar.gz (4.3 kB 查看哈希

已上传 source