为什么我看好多 python 的爬虫项目都不用 logging 模块呢,实在不解

2016-09-13 15:03:58 +08:00
 lytofb
看了一个知乎的爬虫专栏 https://zhuanlan.zhihu.com/p/22390905

里面只有几个项目的代码用到了 logging 模块,请问 python 一般使用什么日志模块
6328 次点击
所在节点    Python
24 条回复
verydxz
2016-09-13 16:10:25 +08:00
也同问最后一句咯,也觉得 logging 各种不好用啊,跨进程的不行,想按日期 rotate 自带那个貌似条件很严格。现在想法是小东西就 stderr 再重定向到文件,大的就用专门的工具比如 Sentry ?
julyclyde
2016-09-13 16:14:54 +08:00
sentry 是以条为单位的,而且带采样、聚合,并不是用来收日志的东西
Karblue
2016-09-13 16:31:15 +08:00
直接粗暴的 print + file write 自己用。够用了。 其实写 python 就是随心。 怎么爽怎么写。没必要纠结用哪个 log 模块
RuyiYin
2016-09-13 16:31:41 +08:00
报错我喜欢 print ,对于撸到服务器上面跑就>python XXX.py >> log.txt
20150517
2016-09-13 16:38:39 +08:00
用 print 还不如 logging,py 的 logging 其实还是很不错的,如果不喜欢,也可以用 logbook 包
est
2016-09-13 17:04:46 +08:00
因为 print 就一个单词。 logging 你要三行。
whwq2012
2016-09-13 17:10:23 +08:00
我是没意识到,我还是太菜了
sudoz
2016-09-13 17:13:30 +08:00
你这么一说我也是,几乎不用 logging
dongxiaozhuo
2016-09-13 17:14:02 +08:00
大项目的话,做一个标准的 logger 封装,会很方便,参考 open stack 的 oslo 项目。项目不大,直街标准输出和错误输出,简单粗暴, rotation 用 cronolog 。
kinghui
2016-09-13 17:28:20 +08:00
使用 logging 模块输出日志, 使用 supervisor 启动并通过 supervisor 将日志存放到文件, 通过 logrotate 进行切割. Sentry 主要用来做错误收集.

不通过 supervisor 切割日志主要因为 supervisor 启动多进程程序日志切割有问题.
lrh3321
2016-09-13 18:21:44 +08:00
平时随便写写,直接就 print 输出,也不会去看日志
a412739861
2016-09-13 18:26:36 +08:00
我写爬虫的时候,还不知道 logging 模块,就是这么简单………
不过爬虫都是一次性, print 简单点,所以不写吧。
如果长期的,我会选择 logging ,最近也在替换以前的 print 。
glasslion
2016-09-13 21:57:37 +08:00
都是国内项目吧, 说句难听的, 那些作者未必有能力读懂 logging 的官方文档
catxo
2016-09-13 23:18:26 +08:00
大多数项目估计都是小工具吧,那就无所谓了
正规一点的项目,日志哪能没有啊
BOYPT
2016-09-13 23:26:08 +08:00
其实是因为 python 的应用范围广泛,领域开发者们不一定有完整的 python 工程经验。爬虫就是一个例子,一个完全没有基础的人看会几个关键字就能写爬虫了。
clino
2016-09-13 23:27:43 +08:00
logging 主要是有需要时间信息的时候比较好
reorx
2016-09-14 00:19:38 +08:00
因为写爬虫的多数都水平一般
imn1
2016-09-14 07:29:56 +08:00
@reorx
你还真了解我诶
macroideal
2016-09-14 08:57:18 +08:00
@est print 变通太小了, logging 可以设置格式加头,方便调试,可以设置开关,等级,用 print 说明你用的不多
codeframe
2016-09-14 10:07:41 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/305953

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX