如何在heroku上禁止http请求日志(如果重要的话,使用flask)?

时间:2018-02-01 05:07:32

标签: heroku web-deployment

非常简单的问题:我在heroku上运行一个简单的烧瓶应用程序而没有更改默认的日志记录设置。但我的日志充满了各种可怕的http请求噪音。

例如,我没有在我的应用上设置任何图标或类似设置。我不需要一个。但是当然,每个浏览器都会请求一个浏览器,所以每当我尝试查看我的日志时,我都会收到大量的请求,其中包含404的favicon等等。这对我来说是完全无用的信息。

示例垃圾日志(剥离了敏感信息):

  

2018-02-01T04:11:32.538658 + 00:00 heroku [router]:at = info method = GET   路径=" /apple-touch-icon-precomposed.png"主机= [MY_HOSTNAME_CENSORED]   request_id = [A_UUID] fwd =" [AN_IP_ADDRESS]" dyno = web.1 connect = 0ms   service = 17ms status = 404 bytes = 386 protocol = https

     

2018-02-01T04:11:32.675406 + 00:00 heroku [router]:at = info method = GET   路径=" /favicon.ico" host = [MY_HOSTNAME_CENSORED] request_id =   FWD =" [AN_IP_ADDRESS]" dyno = web.1 connect = 0ms service = 2ms status = 404   bytes = 386 protocol = https

认为这些日志是由heroku本身而不是应用程序生成的(时间戳之后的位是什么意思,对吧?),但我无法找到任何关于如何改变它的文件。

有一个earlier related SO,但是最新的相关答案说你不能禁用日志是从2014年---所以我觉得这可能已经改变了。

或者,是否有某种方法可以指示浏览器不要请求favicons等?

2 个答案:

答案 0 :(得分:2)

您可以使用任何用于阅读日志的工具轻松进行此类过滤。

例如,如果您将Papertrail插件附加到Heroku应用程序,则可以轻松配置它以过滤掉您想要的任何日志模式,即使您使用的是免费计划。 此类配置通过Papertrail“设置”菜单在“过滤日志”下完成。

有关详细信息,请参阅Log Filtering

答案 1 :(得分:0)

没有任何方法可以完全摆脱它。但是,如果真正让您烦恼的是当您实时记录日志时出现的路由器(这让我很烦恼),则可以在tail命令中添加“ --source app”以摆脱它路由器日志,如下所示:

heroku日志--tail-源应用程序--remote anyyounamedit

然后,您将只看到由应用程序生成的日志。