0

Rails3.2.8をPostgreSQL/PostGISとrgeoファミリーのgemで使用しています。これらは非常に長いクエリを含むログを生成し、すぐにサイズがGBになります。

Region Load (8.8ms)  SELECT name, polygon FROM "region" WHERE "region"."id" = 17 LIMIT 1
(6.2ms)  SELECT st_astext(st_centroid('MULTIPOLYGON (((-111.1779942105267
64.09860899912356, -111.17799400000047 64.09859499912357, -111.17671900000042 
64.098605999123485, -111.17635518181078 64.09860899912356, -111.17538500000043  
...
...many, many, many points ...
...
-111.17799600000035 64.101920999123465, -111.1779940000004 64.10127099912361,
-111.17799500000035 64.09935199912358, -111.17799600000035 64.09872799912365,
-111.1779942105267 64.09860899912356)))'))

Railsログエントリの長さを制限する組み込みの方法はありますか?さらに良いのは、特定のタイプのクエリ(この場合は地理的なクエリ)のログのクエリ部分だけを制限する方法です。

4

1 に答える 1

1

非常にシンプルで、この(改訂された)Railscast

# config/initializers/log_formatter.rb
class Logger::SimpleFormatter
  def call(severity, time, progname, msg)
    "[#{severity}] #{msg.truncate(200)}\n"
  end
end
于 2012-10-11T19:40:24.457 に答える