以下是我的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 对于为什么会发生这种情况的任何解释都是非常可理解的。