1.安装
pip install -U logzero
2.使用
from logzero import logger
# These log messages are sent to the console
logger.debug("hello %s", "world")
logger.info("info")
logger.warning("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)
如果文件名是demo.py,输出将会是下图

输出还有颜色,文件+行号。比logging默认的输出不知道强了多少条街道。
还有一些更高级的用法
3.日志切割
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")
4.设置全局日志Level
import logzero
import logging
from logzero import logger
logzero.loglevel(logging.INFO)
logger.debug("hello") # 不显示
logger.info("info") # 显示
5.定制日志实例
from logzero import setup_logger
logger1 = setup_logger(name="mylogger1", logfile="/tmp/test-logger1.log", level=logging.INFO)
logger2 = setup_logger(name="mylogger2", logfile="/tmp/test-logger2.log", level=logging.INFO)
# By default, logging
logger1.info("info for logger 1")
logger2.info("info for logger 2")
6.常用API
(1)logzero.formatter()
logzero.formatter(formatter, update_custom_handlers=False)
为默认记录器logzero.logger
的所有处理程序设置格式化程序。
默认情况下,这仅重新配置logzero
内部处理程序,但您也可以使用重新配置自定义处理程序update_custom_handlers=True
.
请注意,设置使用颜色的格式化程序也可以将颜色代码写入日志文件。
参数:
formatter(Formatter)
Python日志记录Formatter对象(默认情况下使用内部LogFormatter)。
update_custom_handlers(bool)
如果您向此记录器添加了自定义处理程序并希望它也更新它们,则需要设置update_custom_handlers为True
(2)logzero.setup_logger()
logzero.setup_logger(name=None, logfile=None, level=10, formatter=None, maxBytes=0,
backupCount=0, fileLoglevel=None, disableStderrLogger=False)
配置并返回完全配置的记录器实例,没有麻烦。如果已存在具有指定名称的记录器,则返回现有实例,否则创建新实例。
如果logfile
使用文件名设置参数,则记录器会将消息保存到日志文件中,但默认情况下不会旋转。如果要启用日志轮换,请同时设置maxBytes
和backupCount
。
Usage
from logzero import setup_logger
logger = setup_logger()
logger.info("hello")
(3)logzero.logfile()
logzero.logfile(filename,formatter = None,mode ='a',maxBytes = 0,backupCount = 0, encoding = None,loglevel = None,disableStderrLogger = False )
参数 | 意义 |
---|---|
filename (string) |
日志文件的文件名。设置为“ 无”以禁用日志文件的日志记录。 |
formatter (Formatter) |
Python日志记录Formatter对象(默认情况下使用内LogFormatter) |
mode (string) |
用于打开文件的模式。默认为a |
maxBytes (int) |
应发生翻转时日志文件的大小。默认为0,永远不会发生翻转。 |
backupCount (int) |
要保留的备份数。默认为0,永远不会发生翻转 。 |
encoding (string) |
用于打开具有该编码的文件 。 |
loglevel (int) |
为文件记录器设置自定义loglevel,否则使用当前的全局loglevel 。 |
disableStderrLogger (bool) |
是否应禁用默认的stderr记录器。默认为False 。 |
网友评论