मैंने हाल ही में लार्वेल का उपयोग करना शुरू कर दिया है, इसलिए यह निश्चित रूप से 5.3 और 5.4 में काम करता है, जो पहले के संस्करणों के लिए निश्चित नहीं है।
तेज तरीका मैं के बारे में सोच सकते हैं (सूट छोटी वस्तुओं) सरणी वस्तु कास्ट करने के लिए होगा:
Log::debug((array) $object);
यो आश्चर्य हो सकता है कि यह कैसे संभव है, डिबग विधि के पहले परम है (और साथ ही त्रुटि, नोटिस और लॉग क्लास में अन्य लॉगिंग विधियां) स्ट्रिंग को पहले पैरा के रूप में स्वीकार करती हैं, और हम सरणी पास कर रहे हैं।
तो, उत्तर लॉग लेखक वर्ग में गहराई से जवाब देता है। वहाँ एक तरीका है कि हर बार जब संदेशों स्वरूपण का समर्थन करने के लिए कहा जाता है, और यह इस तरह दिखता है:
/**
* 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;
}
इसके अलावा
बातें थोड़ा और अधिक स्पष्ट करने के लिए, आप में एक बार देख ले सकते हैं: https://github.com/laravel/framework/blob/5.4/src/Illuminate/Log/Writer.php#L199 और आप देखेंगे वह फॉर्मेट मैसेज विधि हर बार संदेश स्वरूपित कर रही है।
स्रोत
2017-05-04 10:27:18