Gần đây tôi đã bắt đầu sử dụng Laravel, vì vậy điều này chắc chắn hoạt động trong 5.3 và 5.4, không chắc chắn cho các phiên bản trước đó.
Cách nhanh nhất tôi có thể nghĩ đến (phù hợp với đối tượng nhỏ hơn) sẽ được đúc tượng để mảng:
Log::debug((array) $object);
Yo có thể tự hỏi làm sao có thể, param đầu tiên của phương pháp gỡ lỗi (cũng như lỗi, thông báo và các phương thức ghi khác trong lớp Log) chấp nhận chuỗi như là tham số đầu tiên, và chúng ta đang truyền mảng.
Vì vậy, câu trả lời nằm sâu trong lớp ghi nhật ký. Có một phương pháp đó được gọi là mỗi lần để hỗ trợ định dạng bài viết, và nó trông như thế này:
/**
* Format the parameters for the logger.
*
* @param mixed $message
* @return mixed
*/
protected function formatMessage($message)
{
if (is_array($message)) {
return var_export($message, true);
} elseif ($message instanceof Jsonable) {
return $message->toJson();
} elseif ($message instanceof Arrayable) {
return var_export($message->toArray(), true);
}
return $message;
}
Cũng để làm rõ hơn những điều nhỏ nhặt chút, bạn có thể có một cái nhìn vào: https://github.com/laravel/framework/blob/5.4/src/Illuminate/Log/Writer.php#L199 và bạn sẽ thấy phương thức formateMessage định dạng tin nhắn mỗi lần.
Nguồn
2017-05-04 10:27:18