कारण Laravel आंतरिक monolog पुस्तकालय उपयोग करता है, मुझे लगता है कि यह इच्छित लॉग संचालकों उपयोग करने के लिए एक बेहतर समाधान है। इसलिए लॉग की हर अनचाहे अपवाद और मैन्युअल कॉल आपके मेल पते पर भेजी जाएगी।
यदि आप उपयोग कर रहे हैं मेल()
को अपने ऐप्लिकेशन पर NativeMailerHandler जोड़ें/शुरू/global.php:
$logFile = 'log-'.php_sapi_name().'.txt';
Log::useDailyFiles(storage_path().'/logs/'.$logFile);
Log::getMonolog()->pushHandler(
new Monolog\Handler\NativeMailerHandler(
'[email protected]',
'[Log] Some Subject',
'[email protected]'
Logger::ERROR, // set minimal log lvl for mail
true, // bubble to next handler?
70 // max column width in your mail
)
);
यदि आप कॉन्फ़िगर कर दिया है Laravel एसएमटीपी मेलिंग
को अपने ऐप्लिकेशन पर SwiftMailerHandler जोड़ें/शुरू/global.php:
(स्विफ्ट मेलर का आंतरिक रूप से लैरावेल द्वारा भी उपयोग किया जाता है)
$logFile = 'log-'.php_sapi_name().'.txt';
Log::useDailyFiles(storage_path().'/logs/'.$logFile);
Log::getMonolog()->pushHandler(
new Monolog\Handler\SwiftMailerHandler(
Mail::getSwiftMailer(),
Swift_Message::newInstance('[Log] Some Subject')->setFrom('[email protected]')->setTo('[email protected]'),
Logger::ERROR, // set minimal log lvl for mail
true // bubble to next handler?
)
);
यदि आप चाहें तो अन्य पोस्ट में वर्णित पर्यावरण जांच जोड़ें। कई अन्य हैंडलरों के लिए, https://github.com/seldaek/monolog
कॉन्फ़िगर :: getEnvironment() के बजाय ऐप :: पर्यावरण() का उपयोग करने के बारे में क्या? –
जब मैं ऐसा करता हूं तो यह मुझे एक ही मेल की यादृच्छिक संख्या भेजता है? – KeizerBridge
इसे लॉग में जैसा दिखने के लिए, स्ट्रिंग के अपवाद को डालने के लिए मजबूर होना बेहतर है। $ डेटा = सरणी ('अपवाद' => (स्ट्रिंग) $ अपवाद); –