import cv2,os
import logging
#创建一个log
logger_name="example"
logger=logging.getLogger(logger_name)
logger.setLevel(logging.DEBUG)
#创建一个hander
log_path="./log.log"
fh=logging.FileHandler(log_path,"w")
fh.setLevel(logging.WARN)
#创建formatter
fmt="%(asctime)s-%(pathname)s-%(levelname)s-%(message)s"
formatter=logging.Formatter(fmt=fmt)
#将hander和formatter添加到logger
fh.setFormatter(formatter)
logger.addHandler(fh)
path="./images"
file=os.listdir(path)
for filename in file:
first,last=os.path.splitext(filename)
if last!=".jpg":
logger.error("读取图片{}失败".format(filename))
import os
import logging
class Mylogging():
def __init__(self,logname):
file = os.path.join(os.getcwd(),logname)
self.logger = logging.getLogger() # 声明了一个 Logger 对象,它就是日志输出的主类,调用对象的 info() 方法就可以输出 INFO 级别的日志信息
self.logger.setLevel(level=logging.INFO) # 设置输出日志等级,只会输出大于等于INFO级别的日志
file_handler = logging.FileHandler(filename=file) # 向文件file输出日志信息
file_handler.setLevel(level=logging.INFO)
formatter = logging.Formatter("%(asctime)s - %(filename)s - %(levelname)s - %(message)s") # 设置格式对象
file_handler.setFormatter(formatter)
# 给logger对象添加对应的handler对象
self.logger.addHandler(file_handler)
# 日志操作对象logger,这里设置为单例,则凡是需要使用logging对象的地方都共同这个logger,节省内存开销
mylogger = Mylogging("test1.txt").logger
if __name__ == '__main__':
mylogger.debug("debug")
mylogger.info("这是info")
mylogger.warning("这是warn")
参考:https://www.jianshu.com/p/feb86c06c4f4