- Stocare informatii in Log

Cand creati un proiect Laravel, setarile pentru erori sunt automat configurate. Clasa App\Exceptions\Handler se ocupa de inregistrarea erorilor si le reda inapoi la utilizator.

Optiunea debug din fisierul config/app.php determina ce informatii de eroare sunt afisate utilizatorului. Aceasta optiune e setata sa respecte valoarea din variabila APP_DEBUG, care se afla in fisierul .env.
- Pentru lucru pe serverul local, setati true la valoarea variabilei APP_DEBUG. In aplicatiile care sunt publice setati valoarea false.

Pentru inregistrarea informatiilor in Log, Laravel foloseste libraria Monolog. Fisierele "log" sunt create in directorul storage/logs.

Erori HTTP - Pagini de Eroare HTTP Personalizate

Pentru a genera coduri de eroare HTTP: 404, 500, etc., puteti folosi metoda abort() oriunde in aplicatia Laravel.
abort(404);
- Optional, puteti adauga un raspuns text personalizat:
abort(403, 'Unauthorized action.');

Pagini de Eroare HTTP Personalizate

Laravel face foarte usor utilizarea paginilor de eroare personalizate pentru fiecare cod de eroare HTTP. Doar creati un director errors in directorul resources/views/, apoi creati un fisier "Codul_Erorii.blade.php" pentru fiecare eroare HTTP pe care vreti sa o personalizati. Framework-ul Laravel va detecta automat fisierul in directorul "views/errors/" si il va folosi cand apare acea eroarea.
- Aici aveti un exemplu de fisier template pentru pagina in caz de eroare http 404.

1. Creati un fisier in resources/views/errors/404.blade.php si copiati codul urmator in acel fisier:
<!doctype html>
<html lang="{{app()->getLocale()}}">
<head>
<meta charset="utf-8">
<title>Error 404</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style>
body {
background:#f7f8fe;
font-family:'Calibri',sans-serif;
margin:1px 1%;
padding:0;
position:relative;
text-align:center;
}
</style>
</head>
<body>
<h1>Error 404 - Page not exists</h1>
<h2>Which does not exist cannot affect you.</h2>
<h3>If you want something that exists, your-self is the Truth in this present.</h3>
</body>
</html>
2. Accesati o adresa a unei pagini care nu exista, spre exemplu:
//localhost:8000/present-gift
- Va afisa continutul din fisierul resources/views/errors/404.blade.php.

In acelasi mod puteti face pagini de eroare pentru codurile de erori http: 401, 403, 500.

Stocare informatii in Log

Laravel suporta scrierea de informatii log in fisier unic, fisiere zilnice, in syslog si in errorlog.
Pentru a configura Laravel ce mecanism de stocare sa foloseasca, modificati optiunea log in fisierul config/app.php.
- Spre exemplu pentru a folosi fisierele log zilnice in loc de un singur fisier, setati valoarea 'daily' la log in fisierul app.php:
'log'=> 'daily'

Maximu de Fisiere Log Zilnice

Cand se foloseste modul log daily, Laravel va pastra ultimele cinci zile de fisiere log. Ca sa modificati numarul de fisiere retinute, adaugati o valoare cu numarul de zile intr-o proprietate log_max_files in fisierul config/app.php:
'log_max_files'=> 7

Nivele de severitate pt. Log

In Laravel puteti folosi urmatoarele nivele de severitate - de la cel mai putin sever la cel mai sever: debug, info, notice, warning, error, critical, alert, emergency.
In mod implicit, Laravel scrie in log informatii de la toate nivelurile de severitate. Daca doriti sa configurati un anumit minim de severitate care ar trebui inregistrata, schimbati valoarea de la APP_LOG_LEVEL in fisierul ".env":
APP_LOG_LEVEL=error
Sau optiunea log_level in fisierul "config/app.php".
'log_level'=> 'error'
Laravel va inregistra toate nivelurile mai mari sau egale cu nivelul de severitate specificat. Spre exemplu, daca setati nivelul error, va inregistra mesaje legate de: error, critical, alert, emergency.

Scriere informatii in log-uri

Puteti scrie informatii in log-uri folosind Log facade.
<?php
namespace App\Http\Controllers;

use App\User;
use Illuminate\Support\Facades\Log;
use App\Http\Controllers\Controller;

class UserController extends Controller{
  //Show the profile for the given user
  //@param  int  $id
  //@return view
  public function showProfile($id){
    Log::info('Showing user profile for user: '.$id);

    return view('user.profile', ['user'=> User::findOrFail($id)]);
  }
}
- Clasa Log furnizeaza opt tipuri de nivele log:
Log::emergency($message);
Log::alert($message);
Log::critical($message);
Log::error($message);
Log::warning($message);
Log::notice($message);
Log::info($message);
Log::debug($message);
- Puteti adauga un array cu date ca al doilea argument in metodele clasei Log. Aceste date vor fi formmatate si afisate in mesajul salvat in log:
Log::notice('User failed to login.', ['id'=> $user->id]);


- Documentation: Laravel - Errors and Logging

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag afiseaza textul oblic?
<strong> <pre> <em>
<p>Cursuri, Jocuri, Anime: <em>www.MarPlo.net</em></p>
Care proprietate CSS defineste spatiul dintre continutul elementului si bordura lui?
margin padding position
h3 {
  padding: 2px 0.2em;
}
Clic pe metoda ce returneaza primul element indicat de selectorii specificati.
getElementsByName() querySelector() querySelectorAll()
// preia primul Div cu class="cls", si afiseaza continutul
var elm = document.querySelector("div.cls");
alert(elm.innerHTML);
Indicati variabila PHP ce contine datele din formular trimise cu method="post".
$_SESSION $_GET $_POST
if(isset($_POST["field"])) {
  echo $_POST["field"];
}
Indicati pronumele corespunzator celui din paranteza in propozitia: "(Noi) speak english".
I They We
We speak english.
- Noi vorbim engleza.
Indicati pronumele corespunzator celui din paranteza in propozitia: "(Noi) hablamos español".
Ellos Vosotros Nosotros
Nosotros hablamos español.
- Noi vorbim spaniola.
Erori HTTP si stocare informatii in Log - Laravel tutorial

Last accessed pages

  1. Scripturi JavaScript (43)
  2. Formate text (320)
  3. Butterfly Kyodai (1387)
  4. Zuma Deluxe (1543)
  5. Verbe frazale din limba Engleza (305)

Popular pages this month

  1. Bubbles3 (2202)
  2. Gramatica limbii engleze - Prezentare Generala (1717)
  3. Prezentul simplu si continuu - Present Tense Simple and Continuous (1563)
  4. Zuma Deluxe (1543)
  5. Butterfly Kyodai (1387)