Python记录日志

半城伤御伤魂 提交于 2019-12-06 12:38:12

使用logging模块来写日志:

 

日志直接输出到准备输出:

import logging

logging.basicConfig(level=logging.WARNING,
                    format="%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s : %(message)s")

# 直接使用logging来写日志,会同时写在文件和标准输出中
logging.debug("debug level")
logging.info("info level")
logging.warning("warning level")
logging.error("error level")
logging.critical("critical level")

 

日志输出到文件:

import logging

logging.basicConfig(level=logging.WARNING,
                    filename='basic_log.txt',
                    filemode='w',
                    format="%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s : %(message)s")

# 直接使用logging来写日志,会同时写在文件和标准输出中
logging.debug("debug level")
logging.info("info level")
logging.warning("warning level")
logging.error("error level")
logging.critical("critical level")

 

同时向不同地方写日志:

import logging

# 创建一个logger
logger = logging.getLogger()
logger.setLevel(logging.INFO)

# 创建一个handler,用于写入日志文件
logfile = './log.txt'
fh = logging.FileHandler(logfile, mode='a')
# 写入日志文件的级别为DEBUG
fh.setLevel(logging.DEBUG)

# 创建另一个handler,用于将日志输出到标准输出
ch = logging.StreamHandler()
# 标准输出的日志级别的WARNING
ch.setLevel(logging.WARNING)

# 定义日志格式
formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s : %(message)s")

# 将格式应用到fh和ch两个handler
fh.setFormatter(formatter)
ch.setFormatter(formatter)

# 将handler装载到logger中
logger.addHandler(fh)
logger.addHandler(ch)

# 使用logger来写日志,会同时写在文件和标准输出中
logger.debug("debug level")
logger.info("info level")
logger.warning("warning level")
logger.error("error level")
logger.critical("critical level")

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!