Python3 日志模块输出报错

1、can't assign to function call

在输入以下代码后运行,提示语法错误

logging.basicConfig(filename= os.path.join(os.getcwd(),'./log.txt')),\
level= logging.DEBUG,format('%(asctime)s %(filename)s[line:%(lineno)d] % (levelname)s %(message)s')
can't assign to function call.png

解决办法:

函数的括号提前结束了,filename 中多了个右括号,format 中多了个左括号

logging.basicConfig(filename= os.path.join(os.getcwd(),'./log.txt'),
                    level= logging.DEBUG,
                    format = '%(asctime)s %(filename)s[line:%(lineno)d] % (levelname)s %(message)s')


2、执行错误SQL语句,编译框有logging信息,log文件有生成但没有写入内容

log文件有生成但没有写入内容.png

根据报错信息,因 httprequest 文件调用了 mysql 模块中的 selectone(),异常信息抛出是在55行,检查上下代码,发现format 参数中的%与 levelname参数中间有空格
(刚开始还一直以为是2和3的语法区别导致的,后来还是小崔同学告诉我的,谢谢)

参数与 % 有空格.png

修改代码,将format 参数中的%与参数中间的空格去除后运行,日志文件有内容输出了

logging.basicConfig(filename=os.path.join(os.getcwd(),'./log.txt'),
                    level=logging.WARNING,
                    filemode="w",
                    format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s')
图片.png

总结

关于logging模块的深入学习可参考 python3 logging模块

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,798评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,116评论 6 342
  • 内置函数Python解释器内置了许多功能和类型,总是可用的。他们是按字母顺序列在这里。 abs(x)返回一个数的绝...
    uangianlap阅读 5,034评论 0 0
  • 2016年4月14号 我想历史会铭记今天这个特别的日子 两个在全球拥有大约60亿粉丝(据不完全统计)的男人走完了各...
    木童的美好生活阅读 2,350评论 6 1
  • 我喜欢冬天的雪花,在空中飞舞,漂亮极了。 我喜欢冬天的雪花,夏天的阳光,秋天的树叶,以及春天的小牙儿。
    裴洋耶阅读 1,579评论 0 3