![]() | 1 verydxz 2016-09-13 16:10:25 +08:00 也同问最后一句咯,也觉得 logging 各种不好用啊,跨进程的不行,想按日期 rotate 自带那个貌似条件很严格。现在想法是小东西就 stderr 再重定向到文件,大的就用专门的工具比如 Sentry ? |
2 julyclyde 2016-09-13 16:14:54 +08:00 sentry 是以条为单位的,而且带采样、聚合,并不是用来收日志的东西 |
![]() | 3 Karblue 2016-09-13 16:31:15 +08:00 直接粗暴的 print + file write 自己用。够用了。 其实写 python 就是随心。 怎么爽怎么写。没必要纠结用哪个 log 模块 |
![]() | 5 20150517 2016-09-13 16:38:39 +08:00 用 print 还不如 logging,py 的 logging 其实还是很不错的,如果不喜欢,也可以用 logbook 包 |
![]() | 6 est 2016-09-13 17:04:46 +08:00 ![]() 因为 print 就一个单词。 logging 你要三行。 |
![]() | 7 syahd 2016-09-13 17:10:23 +08:00 via Android 我是没意识到,我还是太菜了 |
8 sudoz 2016-09-13 17:13:30 +08:00 你这么一说我也是,几乎不用 logging |
![]() | 9 dongxiaozhuo 2016-09-13 17:14:02 +08:00 via iPhone 大项目的话,做一个标准的 logger 封装,会很方便,参考 open stack 的 oslo 项目。项目不大,直街标准输出和错误输出,简单粗暴, rotation 用 cronolog 。 |
![]() | 10 kinghui 2016-09-13 17:28:20 +08:00 使用 logging 模块输出日志, 使用 supervisor 启动并通过 supervisor 将日志存放到文件, 通过 logrotate 进行切割. Sentry 主要用来做错误收集. 不通过 supervisor 切割日志主要因为 supervisor 启动多进程程序日志切割有问题. |
![]() | 11 lrh3321 2016-09-13 18:21:44 +08:00 平时随便写写,直接就 print 输出,也不会去看日志 |
12 a412739861 2016-09-13 18:26:36 +08:00 我写爬虫的时候,还不知道 logging 模块,就是这么简单……… 不过爬虫都是一次性, print 简单点,所以不写吧。 如果长期的,我会选择 logging ,最近也在替换以前的 print 。 |
![]() | 13 glasslion 2016-09-13 21:57:37 +08:00 ![]() 都是国内项目吧, 说句难听的, 那些作者未必有能力读懂 logging 的官方文档 |
14 catxo 2016-09-13 23:18:26 +08:00 大多数项目估计都是小工具吧,那就无所谓了 正规一点的项目,日志哪能没有啊 |
15 BOYPT 2016-09-13 23:26:08 +08:00 ![]() 其实是因为 python 的应用范围广泛,领域开发者们不一定有完整的 python 工程经验。爬虫就是一个例子,一个完全没有基础的人看会几个关键字就能写爬虫了。 |
![]() | 16 clino 2016-09-13 23:27:43 +08:00 logging 主要是有需要时间信息的时候比较好 |
![]() | 17 reorx 2016-09-14 00:19:38 +08:00 via iPad 因为写爬虫的多数都水平一般 |
19 macroideal 2016-09-14 08:57:18 +08:00 via iPhone @est print 变通太小了, logging 可以设置格式加头,方便调试,可以设置开关,等级,用 print 说明你用的不多 |
![]() | 20 codeframe 2016-09-14 10:07:41 +08:00 http://hairysun.com/blog/2005/02/19/guido-van-rossum-building-an-open-source-project/ 大家可以看看 Guido 是怎么 Debug 的 |
![]() | 21 est 2016-09-14 10:15:49 +08:00 @macroideal 来来来,如何在插入一行 log 之前先插入一个空白行?注意是完全的空白行。不能有头。你给我变通一下。 |
22 macroideal 2016-09-14 10:23:40 +08:00 via iPhone @est 做两个 logger 两个 format 为啥要这样的需求 |
![]() | 23 masterzh01 2016-09-14 14:32:55 +08:00 |
24 makeapp 2016-09-16 12:10:36 +08:00 logging 模块更加完善,有很多功能。我通常是用 logging 做日志记录进行事后分析, print 作为实时监控,可以直接在 terminal 中查看爬虫实时状态。 |