如何抑制 heroku 上的 http 请求日志(如果重要,使用 flask)?
How do I suppress http request logs on heroku (using flask, if it matters)?
非常简单的问题:我是 运行 heroku 上的一个简单的 flask 应用程序,没有更改默认日志记录设置。但是我的日志中充满了各种可怕的 http 请求噪音。
例如,我没有在我的应用程序上设置任何网站图标或类似内容。我不需要一个。但是当然,每个浏览器都会请求一个,因此每当我尝试查看我的日志时,我都会收到大量带有 404 请求的网站图标等。这对我来说完全是无用的信息。
示例垃圾日志(已删除敏感信息):
2018-02-01T04:11:32.538658+00:00 heroku[router]: at=info method=GET
path="/apple-touch-icon-precomposed.png" host=[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
path="/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 年开始的——所以我想这可能已经改变了。
或者,是否有一些方法可以指示浏览器不要请求网站图标等?
无论您使用什么工具阅读日志,您都可以轻松地进行这种过滤。
例如,如果您将 Papertrail 附加组件附加到您的 Heroku 应用程序,您可以轻松地将其配置为过滤掉您想要的任何日志模式,即使您使用的是他们的免费计划。
这种配置是通过 "Filter logs".
下的 Papertrail "Settings" 菜单完成的
详情见Log Filtering。
没有任何方法可以完全摆脱它。但是,如果你真正恼火的是当你实时跟踪你的日志时路由器出现(这就是我所恼火的),那么你可以将“--source app”添加到 tail 命令中以摆脱路由器日志,如下所示:
heroku logs --tail --source app --remote whateveryounamedit
然后您将只会看到您的应用生成的日志。
非常简单的问题:我是 运行 heroku 上的一个简单的 flask 应用程序,没有更改默认日志记录设置。但是我的日志中充满了各种可怕的 http 请求噪音。
例如,我没有在我的应用程序上设置任何网站图标或类似内容。我不需要一个。但是当然,每个浏览器都会请求一个,因此每当我尝试查看我的日志时,我都会收到大量带有 404 请求的网站图标等。这对我来说完全是无用的信息。
示例垃圾日志(已删除敏感信息):
2018-02-01T04:11:32.538658+00:00 heroku[router]: at=info method=GET path="/apple-touch-icon-precomposed.png" host=[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 path="/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 年开始的——所以我想这可能已经改变了。
或者,是否有一些方法可以指示浏览器不要请求网站图标等?
无论您使用什么工具阅读日志,您都可以轻松地进行这种过滤。
例如,如果您将 Papertrail 附加组件附加到您的 Heroku 应用程序,您可以轻松地将其配置为过滤掉您想要的任何日志模式,即使您使用的是他们的免费计划。 这种配置是通过 "Filter logs".
下的 Papertrail "Settings" 菜单完成的详情见Log Filtering。
没有任何方法可以完全摆脱它。但是,如果你真正恼火的是当你实时跟踪你的日志时路由器出现(这就是我所恼火的),那么你可以将“--source app”添加到 tail 命令中以摆脱路由器日志,如下所示:
heroku logs --tail --source app --remote whateveryounamedit
然后您将只会看到您的应用生成的日志。