Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 是什么导致rails应用程序崩溃的?_Ruby On Rails_Logging - Fatal编程技术网

Ruby on rails 是什么导致rails应用程序崩溃的?

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) 此更改后,应用程序在处理特定文件时开始崩

我相信有人能解释这一点

我们有一个已经投入生产一年的应用程序。最近,针对难以登录系统的用户的支持请求数量有所增加。由于无法在开发中重现问题,我们绞尽脑汁,决定在生产中启用调试记录器一个月。那是6月5日

应用程序在上面的更改下运行良好,我们正在等待

然后昨天我们注意到日志文件越来越大,所以我们在生产中做了另一个更改

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。我知道我们疯了:)