- 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
Ce tag HTML5 este indicat sa contina meniul cu link-uri de navigare in site?
<section> <nav> <article>
<nav><ul>
 <li><a href="http://coursesweb.net/css/" title="CSS Course">CSS Course</a></li>
 <li><a href="http://www.marplo.net/jocuri/" title="Flash Games">Flash Games</a></li>
</ul></nav>
Ce proprietate CSS muta elementrul in dreapta sau stanga de la locul unde e?
text-align clear float
.some_class {
  width: 30%;
  float: left;
}
Clic pe metoda obiectului Math care rotunjeste numarul x descrescator la cel mai apropiat intreg.
Math.ceil(x) Math.abs(x) Math.floor(x)
var num = 12.34567;
num = Math.floor(num);
alert(num);       // 12
Indicati functia PHP care returneaza numarul de caractere dintr-un sir.
mb_strlen() count() stristr()
$str = "sir cu caractere utf-8 åèö";
$nrchr = mb_strlen($str);
echo $nrchr;        // 29
Clic pe raspunsul potrivit la intrebarea: "When it happened?".
On the 7th of July 1996 It is a quarter to 5. Nice weather.
When it happened? On the 8th of August 2001.
- Cand s-a intamplat? Pe 8 August 2001.
Indicati raspunsul potrivit la intrebarea: "¿Cuando sucedió?".
Hace buen tiempo. En el 8 de Agosto de 2001 Son las tres menos cuarto.
¿Cuando sucedió? En el 8 de Agosto de 2001.
- Cand s-a intamplat? Pe 8 August 2001.
Erori HTTP si stocare informatii in Log - Laravel tutorial

Last accessed pages

  1. Bubbles3 (16194)
  2. Cursuri si Tutoriale: Spaniola, Engleza, HTML, CSS, Php-Mysql, JavaScript, Ajax (6282)
  3. Numerale, Numere in limba engleza - Numerals (3718)
  4. Prezentul simplu si continuu - Present Tense Simple and Continuous (8388)
  5. Viitor perfect si Viitorul perfect continuu - Future perfect and Continuous (1468)

Popular pages this month

  1. Bubbles3 (4132)
  2. Gramatica limbii engleze - Prezentare Generala (3698)
  3. Butterfly Kyodai (2639)
  4. Jocuri Mahjong (1673)
  5. Prezentul simplu si continuu - Present Tense Simple and Continuous (1413)