Laravel-log()期望参数1为float,给定数组

时间:2019-06-14 11:03:15

标签: laravel

我正在尝试打印json请求的内容:

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        $data = $request->json()->all();
        return response()->json($data);
    }

首先,我尝试使用以下命令将内容打印到文件中:

$data = $request->json()->all();
Info($data);

它将其写入日志:

[2019-06-14 10:43:51] local.ERROR: log() expects parameter 1 to be float, array given {"exception":"[object] (ErrorException(code: 0): log() expects parameter 1 to be float, array given at C:\\Users\\User 1\\Coding\\data-service\\app\\Http\\Controllers\\FileController.php:39)
[stacktrace]

更新

我正在使用Jerodev的答案中的Log:debug,但仍然无法正常工作。

public function store(Request $request)
{
   $data = $request->json()->all();
   //\Log::info($data);
   Log::debug($data);
   return response()->json($data);
}

日志文件:

local.ERROR: Class 'App\Http\Controllers\Log' not found {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Class 'App\\Http\\Controllers\\Log' not found at ...

我已经包括了这样的课程:

use App\Http\Controllers\Log;

没有记录日志,对请求的响应是一个空数组:

[]

我该如何发送回复并记录它?

{
  test: 123,
  debug: [...] <- $data here
}

JSON请求:

{
    filename: "test1.jpeg"
}

enter image description here

3 个答案:

答案 0 :(得分:4)

您实际上是在调用PHP log()函数,该函数计算自然对数,并且确实需要一个float类型的参数。

对于Laravel中的write log messages,您需要使用Log类。

Log::debug($data);

答案 1 :(得分:2)

您需要使用list而不是if any(lcr in location for lcr in locations_list ): print("location present in locations list") else: print("location not found") 函数,该函数是一个将浮点数作为参数的PHP函数。

您也可以只使用\Log::info($data)来获得Log()

答案 2 :(得分:0)

如果要查看$data的内容,请考虑使用print_r($data);var_dump($data)。如果启用了xdebug extention,则后者将打印出美观的堆栈跟踪。