1获取一个日志 记录器 其实返回的是root记录器
logger = logging.getLogger("test")
2给logger 设置 日志级别 logger收集什么级别的日志
logger.setLevel(logging.DEBUG)
日志级别 从小到大
ALL、DEBUG 、INFO、WARA、ERROR 、FATAL 、OFF
ALL(输出所有类型日志)
DEBUG (输出DEBUG 以上级别日志)
INFO(输出INFO以上级别日志)
WARA(输出WARA以上级别日志)
ERROR (输出ERROR 以上级别日志)
FATAL (输出FATAL 以上级别日志)
OFF (关闭日志输出)
3 设置Formatter格式化
formatter = logging.Formatter(
"[%(name)s][PID:%(process)d][%(threadName)s:%(thread)d][%(levelname)s][%(asctime)s][%(message)s]",
"%Y-%m-%d %H:%M:%S")
4 创建 Handler
f_handler = logging.FileHandler("mylog.txt", encoding="utf-8")
handler处理什么级别的日志
f_handler.setLevel(logging.INFO)
f_handler.setFormatter(formatter)
s_handler = logging.StreamHandler()
s_handler.setLevel(logging.DEBUG)
s_handler.setFormatter(formatter)
5把handler添加到logger上
logger.addHandler(f_handler)
logger.addHandler(s_handler)
最后打印日志
logger.debug("Debug Message")
logger.info("Info Message")
logger.warning("Warning Message")
logger.error("Error Message")
loggers的配置
[loggers]
keys=root,test
[handlers]
keys=fileHandler,streamHandler
[formatters]
keys=fmt
[logger_root]
level=DEBUG
handlers=streamHandler
[logger_test]
level=DEBUG
handlers=fileHandler
qualname=test
[handler_streamHandler]
class=StreamHandler
level=DEBUG
formatter=fmt
args=(sys.stdout,)
[handler_fileHandler]
class=FileHandler
level=INFO
formatter=fmt
args=('mylog1.txt','a',"utf-8")
[formatter_fmt]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=