符号键在导轨中变得僵化

时间:2019-02-14 11:44:00

标签: ruby-on-rails logging hash graylog gelf

以下是我的Rails应用程序中的模型方法的代码段

p conditions
Rails.logger.debug(conditions: conditions, short_message: 'Inside my method')
p conditions

以下是输出

{:display_date=>{:lt=>"now", :gte=>Wed, 14 Feb 2018 10:25:10 UTC +00:00}, :status=>"published"}
{:conditions=>{:display_date=>{:lt=>"now", :gte=>Wed, 14 Feb 2018 10:25:10 UTC +00:00}, :status=>"published"}, :short_message=>"Inside my method"}
{:display_date=>{:lt=>"now", :gte=>Wed, 14 Feb 2018 10:25:10 UTC +00:00}, :status=>"published"}

到目前为止,情况还不错。 当我为我的应用程序配置Graylog时,输出更改为

{:display_date=>{:lt=>"now", :gte=>Wed, 14 Feb 2018 10:25:10 UTC +00:00}, :status=>"published"}
{:conditions=>{:display_date=>{:lt=>"now", :gte=>Wed, 14 Feb 2018 10:25:10 UTC +00:00}, :status=>"published"}, :short_message=>"Inside my method"}
{:display_date=>{"lt"=>"now", "gte"=>Wed, 14 Feb 2018 10:25:10 UTC +00:00}, :status=>"published"}

第二个json的键在我的conditions变量中被字符串化。

我的Graylog conf是

GELF::Logger.new(
  '127.0.0.1',
  '12_201',
  'LAN',
  facility: 'my-app',
  host: 'my-host',
)

Ruby版本-2.4.1,rails版本-5.2.2 对于为什么会发生这种情况的任何解释都是非常可理解的。

0 个答案:

没有答案