खोज…


टिप्पणियों

config/mail.php उचित विन्यास को सुनिश्चित करके ईमेल के लिए अपना आवेदन स्थापित करना याद रखें

यह भी सुनिश्चित करने के लिए जांचें कि ईएनवी चर ठीक से सेट हैं।

यह उदाहरण एक मार्गदर्शक है और न्यूनतम है। अपनी इच्छानुसार दृश्य को देखें, बदलें और स्टाइल करें। अपनी आवश्यकताओं को पूरा करने के लिए कोड को ट्विक करें। उदाहरण के लिए, अपने .env फ़ाइल में प्रापक सेट करें

त्रुटि रिपोर्ट ईमेल भेजें

Laravel में अपवादों को App \ Exception \ Handler.php द्वारा नियंत्रित किया जाता है

इस फ़ाइल में डिफ़ॉल्ट रूप से दो कार्य हैं। रिपोर्ट और रेंडर। हम केवल पहले का उपयोग करेंगे

 public function report(Exception $e)

रिपोर्ट विधि का उपयोग अपवादों को लॉग करने या बग्सनाग जैसी बाहरी सेवा में भेजने के लिए किया जाता है। डिफ़ॉल्ट रूप से, रिपोर्ट विधि बस अपवाद वर्ग को पास करती है जहां अपवाद लॉग होता है। हालाँकि, आप अपनी इच्छानुसार अपवादों को लॉग करने के लिए स्वतंत्र हैं।

अनिवार्य रूप से यह फ़ंक्शन केवल त्रुटि को आगे करता है और कुछ भी नहीं करता है। इसलिए, हम त्रुटि के आधार पर संचालन करने के लिए व्यावसायिक तर्क सम्मिलित कर सकते हैं। इस उदाहरण के लिए हम एक ईमेल भेजेंगे जिसमें त्रुटि की जानकारी होगी।

public function report(Exception $e)
{
    if ($e instanceof \Exception) {
        // Fetch the error information we would like to 
        // send to the view for emailing
        $error['file']    = $e->getFile();
        $error['code']    = $e->getCode();
        $error['line']    = $e->getLine();
        $error['message'] = $e->getMessage();
        $error['trace']   = $e->getTrace();

        // Only send email reports on production server
        if(ENV('APP_ENV') == "production"){
            #1. Queue email for sending on "exceptions_emails" queue
            #2. Use the emails.exception_notif view shown below
            #3. Pass the error array to the view as variable $e
            Mail::queueOn('exception_emails', 'emails.exception_notif', ["e" => $error], function ($m) {
                $m->subject("Laravel Error");
                $m->from(ENV("MAIL_FROM"), ENV("MAIL_NAME"));
                $m->to("[email protected]", "Webmaster");
            });

        }
    }

    // Pass the error on to continue processing
    return parent::report($e);
}

ईमेल के लिए दृश्य ("email.exception_notif") नीचे है

<?php 
$action = (\Route::getCurrentRoute()) ? \Route::getCurrentRoute()->getActionName() : "n/a";
$path = (\Route::getCurrentRoute()) ? \Route::getCurrentRoute()->getPath() : "n/a";
$user = (\Auth::check()) ? \Auth::user()->name : 'no login';
?>

There was an error in your Laravel App<br />

<hr />
<table border="1" width="100%">
    <tr><th >User:</th><td>{{ $user }}</td></tr>
    <tr><th >Message:</th><td>{{ $e['message'] }}</td></tr>
    <tr><th >Action:</th><td>{{ $action }}</td></tr>
    <tr><th >URI:</th><td>{{ $path }}</td></tr>
    <tr><th >Line:</th><td>{{ $e['line'] }}</td></tr>
    <tr><th >Code:</th><td>{{ $e['code'] }}</td></tr>
</table>

कैचिंग एप्लिकेशन वाइड ModelNotFoundException

एप्लिकेशन \ अपवाद \ Handler.php

public function render($request, Exception $exception)
{
    if ($exception instanceof ModelNotFoundException) {
        abort(404);
    }

    return parent::render($request, $exception);
}

आप लारवेल में फेंके गए किसी भी अपवाद को पकड़ / संभाल सकते हैं।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow