跳转到主要内容

为Python日志提供漂亮的彩色格式化工具。

项目描述

CircleCI build status

提供格式化工具,以便在控制台上以漂亮的颜色显示日志输出。

在GitHub上分叉此项目

目前,它只包含一个格式化器,根据日志级别着色日志行,并添加包含记录器名称的漂亮行前缀,但未来的计划是添加更多格式化器,并允许更好地自定义它们。

安装

pip install nicelog

快速使用

从版本 0.3 开始,nicelog附带一个辅助函数,可快速设置基本需求的日志记录。

from nicelog import setup_logging

setup_logging()

或者,如果您还想包含调试消息

setup_logging(debug=True)

高级使用

import logging
import sys

from nicelog.formatters import Colorful

# Setup a logger
logger = logging.getLogger('foo')
logger.setLevel(logging.DEBUG)

# Setup a handler, writing colorful output
# to the console
handler = logging.StreamHandler(sys.stderr)
handler.setFormatter(Colorful())
handler.setLevel(logging.DEBUG)
logger.addHandler(handler)

# Now log some messages..
logger.debug('Debug message')
logger.info('Info message')
logger.warning('Warning message')
logger.error('Error message')
logger.critical('Critical message')
try:
    raise ValueError('This is an exception')
except:
    logger.exception("An error occurred")

示例输出

这就是它,所有它的荣耀

Screenshot

输出格式可以进一步自定义,例如,如果您想减少色彩或详尽程度。

集成

Django

我通常在我的(本地)设置中放置类似以下内容

LOGGING['formatters']['standard'] = {
    '()': 'nicelog.formatters.Colorful',
    'show_date': True,
    'show_function': True,
    'show_filename': True,
    'message_inline': False,
}

变更日志

v0.2

  • “colorer”和“style”之间的更多解耦

  • 支持漂亮的堆栈跟踪(彩色 + 代码上下文 + locals)

  • 添加了一些测试

  • 通过six支持Python3

v0.1.9

  • 替换 strftime(3) 转换说明符 %F%T 并非所有平台都可用:用长版本 %Y-%m-%d%H:%M:%S 替换。

v0.1.8

  • 防止在未设置 TERM 环境变量的情况下失败(PR #1)

v0.1.7

  • 添加了对message_inline参数的支持。如果设置为False,消息将单独一行显示(在启用大量信息时很有用)

v0.1.6

  • 添加了显示更多信息的功能

    • 记录日期

    • 文件名 / 行号

    • 模块 / 函数

v0.1.5

  • 在256色模式下添加了对更美观颜色的支持

  • 从termcolor移除依赖(现在提供更好的实现)

支持