非常简单的问题:我在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等?
答案 0 :(得分:2)
您可以使用任何用于阅读日志的工具轻松进行此类过滤。
例如,如果您将Papertrail插件附加到Heroku应用程序,则可以轻松配置它以过滤掉您想要的任何日志模式,即使您使用的是免费计划。 此类配置通过Papertrail“设置”菜单在“过滤日志”下完成。
有关详细信息,请参阅Log Filtering。
答案 1 :(得分:0)
没有任何方法可以完全摆脱它。但是,如果真正让您烦恼的是当您实时记录日志时出现的路由器(这让我很烦恼),则可以在tail命令中添加“ --source app”以摆脱它路由器日志,如下所示:
heroku日志--tail-源应用程序--remote anyyounamedit
然后,您将只看到由应用程序生成的日志。