防止 heroku 中不需要的日志

Prevent unwanted logs in heroku

我已经在 heroku 中成功部署了一个生产级应用程序。现在我在做日志记录和监控。

不幸的是,我无法找到一种方法来控制 heroku 日志、papertrail 等中记录的内容。每隔 1 或 2 分钟,我就会收到以下类型的消息:

app/heroku-postgres source=DATABASE addon=postgresql-slippery-76303 
sample#current_transaction=1408 sample#db_size=11563679bytes 
sample#tables=24 sample#active-connections=13 sample#waiting- 
connections=0 sample#index-cache-hit-rate=0.99834 sample#table-cache- 
hit-rate=0.99896 sample#load-avg-1m=0.01 sample#load-avg-5m=0.005 
sample#load-avg-15m=0 sample#read-iops=0 sample#write-iops=0.098361 
sample#tmp-disk-used=33849344 sample#tmp-disk-available=72944943104 
sample#memory-total=4044932kB sample#memory-free=1741488kB 
sample#memory-cached=1968548kB sample#memory-postgres=44600kB

我从 heroku 中找到了关于此的文档页面:

https://devcenter.heroku.com/articles/heroku-postgres-metrics-logs

他们忘了告诉我如何禁用这些 postgres 指标日志。

一般来说,我想过滤记录的内容,因为 heroku 有记录行的限制,我只想记录对我有用的内容。因此,如果我想禁用来自特定程序的所有日志,例如 app/heroku-postgres,我希望可以选择这样做。

在 heroku 中有没有办法配置这个?

无法从 Heroku 端配置这些日志行。据推测,这是因为这是您能够观察数据库主机健康状况的少数几种方式之一。 Heroku 为您维护一个最小的日志缓冲区,而不是期望您配置自己的日志插件,许多都是免费的。这些相同的插件中的一些可能会在正则表达式上 filter/drop 。话虽如此,如果您非常关心监控数据库,那么删除这些日志行可能并不明智。