- 前言
日志是通过名称来关联层级的,比如aaa的日志记录器是会记录所有的 aaa. 开头的日志
在一点都不相关的脚本里添加日志,只需要名字以 aaa. 开头 就会被记录到aaa的日志记录器
创建根记录器
import logging
class LogHandler(logging.Handler):
u"""
日志处理程序
格式化日志并打印
"""
def __init__(self):
super(LogHandler, self).__init__()
self.__formatter = logging.Formatter(
"%(asctime)s [%(levelname) 8s] %(name)s-> %(message)s"
)
def emit(self, record):
message = self.__formatter.format(record)
print(message)
pass
root_logger = logging.getLogger("aaa")
root_logger.propagate = False
root_logger.setLevel(logging.DEBUG)
root_logger.addHandler(LogHandler())
root_logger.info("aaa")
添加到 aaa 根记录器日志
bbb_logger = logging.getLogger("aaa.bbb")
ccc_logger = logging.getLogger("aaa.bbb.ccc")
bbb_logger.info("bbb")
ccc_logger.debug("ccc")
添加不是 aaa 根记录器的日志
ddd_logger = logging.getLogger("ddd")
ddd_logger.info("ddd")
ddd_logger.warning("ddd")