Ruby on rails 是什么导致rails应用程序崩溃的?
我相信有人能解释这一点 我们有一个已经投入生产一年的应用程序。最近,针对难以登录系统的用户的支持请求数量有所增加。由于无法在开发中重现问题,我们绞尽脑汁,决定在生产中启用调试记录器一个月。那是6月5日 应用程序在上面的更改下运行良好,我们正在等待 然后昨天我们注意到日志文件越来越大,所以我们在生产中做了另一个更改Ruby on rails 是什么导致rails应用程序崩溃的?,ruby-on-rails,logging,Ruby On Rails,Logging,我相信有人能解释这一点 我们有一个已经投入生产一年的应用程序。最近,针对难以登录系统的用户的支持请求数量有所增加。由于无法在开发中重现问题,我们绞尽脑汁,决定在生产中启用调试记录器一个月。那是6月5日 应用程序在上面的更改下运行良好,我们正在等待 然后昨天我们注意到日志文件越来越大,所以我们在生产中做了另一个更改 config.logger=logger.new(“{RAILS\u ROOT}/log/production.log”,501048576) 此更改后,应用程序在处理特定文件时开始崩
config.logger=logger.new(“{RAILS\u ROOT}/log/production.log”,501048576)
此更改后,应用程序在处理特定文件时开始崩溃。这一行代码是
RAILS\u DEFAULT\u LOGGER.info“付款信息请求:”,请求。检查
正如你所看到的,有一个逗号而不是加号。这段代码是在3月份引入的
问题是:为什么应用程序现在失败了?如果更改调试级别导致应用程序处理这一行代码,那么它应该在6月5日开始失败!为什么是今天。请有人帮帮我们。我们是否忽略了显而易见的问题?如果你没有答案,至少让我们知道我们不是唯一一个疯狂的人。当你创建一个新的记录器时,它是一个与原来不同的类 默认情况下,Rails使用,这将毫无例外地接受第二个参数。我相信第二个参数被用作程序名
request.inspect
返回一个字符串,因此它只是将其用作一个非常大的名称
新的记录器只是Ruby core中的一个标准,当传递给它的参数数目错误时,它将引发异常。是否应该
RAILS\u DEFAULT\u LOGGER.info“支付信息请求:{Request.inspect}”
我认为加号也不管用;如果不是RAILS\u DEFAULT\u LOGGER.info“付款信息请求:{Request.inspect}”
?我这么说是因为Request.inspect返回一个散列。你有一个字符串连接一个散列!您得到一个类型错误:无法将数组转换为字符串@Shripad K:调用inspect返回一个字符串。@Awgy:谢谢。我错了在impression请求下。inspect
返回一个散列。他在问题中指出它应该是:RAILS\u DEFAULT\u LOGGER.info“支付信息请求:“+request.inspect
,这也会起作用。问题是:为什么原来的(带“,”)失败了?很好!Thnks。我知道我们疯了:)