LogZero - 稳健有效的日志工具
MIT
跨平台
Python
软件简介
LogZero 是一个稳健有效的 Python 2 和 Python 3 日志工具。
特性
-
可以很方便地打印到终端或者滚动日志
-
提供完整可配置的Python Logger对象
-
输出格式漂亮,在终端中根据不同的日志分级显示不同的颜色。
-
Windows终端中也能区分颜色
-
能很好地处理编码问题,遇到特殊字符也不会崩溃
-
多个Logger可以输出到同一个日志文件
-
支持配置全局Logger和局部Logger
-
兼容Python2和3
-
只有一个代码文件
-
MIT许可证
-
灵感来源于Tornado框架
示例
from logzero import logger
logger.debug("hello")
logger.info("info")
logger.warn("warn")
logger.error("error")
# This is how you'd log an exception
try:
raise Exception("this is a demo exception")
except Exception as e:
logger.exception(e)
添加日志滚动也很容易
import logzero
from logzero import logger
# Setup rotating logfile with 3 rotations, each with a maximum filesize of 1MB:
logzero.logfile("/tmp/rotating-logfile.log", maxBytes=1e6, backupCount=3)
# Log messages
logger.info("This log message goes to the console and the logfile")
下面是一些例子说明如何使用日志文件、自定义格式以及设置最低日志等级。
import logging
import logzero
from logzero import logger
# This log message goes to the console
logger.debug("hello")
# Set a minimum log level
logzero.loglevel(logging.INFO)
# Set a logfile (all future log messages are also saved there)
logzero.logfile("/tmp/logfile.log")
# You can also set a different loglevel for the file handler
logzero.logfile("/tmp/logfile.log", loglevel=logging.ERROR)
# Set a rotating logfile (replaces the previous logfile handler)
logzero.logfile("/tmp/rotating-logfile.log", maxBytes=1000000, backupCount=3)
# Disable logging to a file
logzero.logfile(None)
# Set a custom formatter
formatter = logging.Formatter('%(name)s - %(asctime)-15s - %(levelname)s: %(message)s');
logzero.formatter(formatter)
# Log some variables
logger.info("var1: %s, var2: %s", var1, var2