Soubor protokolu v systému Laravel: Umístění a běžné opravy

Porozumění souborům protokolu Laravel: Umístění, běžné problémy a osvědčené postupy. Protokolování je jednou z nejdůležitějších součástí každé aplikace Laravel. Pomáhá vám sledova...

Světlý režim slouží jen pro ukázku funkcionality. Proto používejte tmavou verzi webu.

09. 10. 2025

Soubor protokolu v systému Laravel: Umístění a běžné opravy

Porozumění souborům protokolu Laravel: Umístění, běžné problémy a osvědčené postupy.

Protokolování je jednou z nejdůležitějších součástí každé aplikace Laravel. Pomáhá vám sledovat chyby, monitorovat chování systému a efektivně ladit. Laravel používá výkonný Monolog knihovna pod kapotou, která nabízí flexibilní a konfigurovatelné protokolování.

V této příručce se dozvíte vše, co potřebujete vědět o souborech protokolu Laravel, včetně jejich umístění, jak řešit chyby oprávnění, co dělat, když chybí protokoly, a jak nakonfigurovat Laravel tak, aby vytvářel soubor protokolu denně.

Umístění a cesta k souboru protokolu v systému Laravel

Ve výchozím nastavení ukládá Laravel své soubory protokolu do adresáře storage/logs adresář. Nejčastěji se setkáte s následujícím souborem:

storage/logs/laravel.log

Sem se zapisují všechny protokoly aplikace, pokud není nakonfigurováno jinak.

Aktuální konfiguraci protokolu si můžete ověřit kontrolou pole config/logging.php soubor. Výchozí kanál je obvykle nastaven na stack, který zahrnuje jeden nebo více základních kanálů, jako např. single or daily:

// config/logging.php
'default' => env('LOG_CHANNEL', 'stack'),

Poté zkontrolujte stack a zjistit, které kanály protokolu obsahuje:

'stack' => [
'driver' => 'stack',
'channels' => ['single'], // or ['daily'] depending on your setup
'ignore_exceptions' => false,
],

Chcete-li ověřit skutečný používaný soubor, zkontrolujte konfiguraci cílového ovladače. Například pro single řidič:

'single' => [
'driver' => 'single',
'path' => storage_path('logs/laravel.log'),
'level' => env('LOG_LEVEL', 'debug'),
],

Oprava problémů s odepřením oprávnění

Pokud se zobrazí chyba, jako například:

Could not open stream: Permission denied

to znamená, že Laravel nemá oprávnění zapisovat do souboru protokolu nebo do souboru storage/logs adresář.

Řešení:

Zajistěte, aby uživatel webového serveru (např, www-data v Ubuntu) má oprávnění k zápisu do adresáře storage adresář.

sudo chown -R www-data:www-data storage
sudo chmod -R 775 storage

Pokud používáte systém MacOS nebo Windows, ujistěte se, že má váš uživatel místního prostředí rovnocenné právo zápisu.

⚠️ Tip: Nikdy nepoužívejte chmod -R 777 ve výrobě, pokud to není dočasně nutné. Poskytuje plný přístup všem a představuje bezpečnostní riziko.

Pokud se změny oprávnění neprojeví, nezapomeňte vymazat konfiguraci z mezipaměti:

php artisan config:clear
php artisan cache:clear

Co dělat, když chybí soubor protokolu

Někdy se vaše laravel.log soubor nemusí často existovat, protože byl smazán nebo do něj Laravel ještě nezapsal.

Jak to napravit:

  1. Ruční vytvoření souboru:

    touch storage/logs/laravel.log
  2. Zajistěte správná oprávnění:

    sudo chown www-data:www-data storage/logs/laravel.log
    sudo chmod 664 storage/logs/laravel.log
  3. Zkuste zapsat testovací zprávu:

    Log::info('Laravel log test message');

Pokud je vše správně nakonfigurováno, začne nyní Laravel automaticky zapisovat do souboru protokolu.


Oprava chyby "Nelze otevřít v režimu připojování"

Tato chyba obvykle vypadá takto:

ErrorException: file_put_contents(/path/to/storage/logs/laravel.log): Failed to open stream: Permission denied

Stává se to, když se Laravel pokouší zapsat protokoly, ale nemůže je připojit k souboru, obvykle kvůli chybějícím oprávněním nebo vlastnictví adresáře.

Kroky k nápravě:

  1. Zkontrolujte oprávnění adresářů a souborů:

    ls -ld storage/logs
    ls -l storage/logs/
  2. Podle potřeby upravte oprávnění a vlastnictví:

    sudo chown -R www-data:www-data storage/logs
    sudo chmod -R 775 storage/logs
  3. Pokud problém přetrvává, vytvořte soubor protokolu znovu (pouze pokud nedochází ke kritickým zápisům):

    rm storage/logs/laravel.log
    touch storage/logs/laravel.log
    sudo chown www-data:www-data storage/logs/laravel.log

Poté aplikaci znovu načtěte a Laravel bude pokračovat v protokolování jako obvykle.

Konfigurace Laravelu pro vytváření souboru protokolu denně

Pro lepší organizaci Laravel podporuje denní rotace protokolů. To znamená, že se každý den vytvoří nový soubor protokolu, což usnadňuje správu a kontrolu protokolů.

Chcete-li povolit denní protokolování, otevřete config/logging.php a nastavte výchozí kanál protokolu na daily:

'default' => env('LOG_CHANNEL', 'daily'),

Poté vyhledejte a nakonfigurujte daily kanál:

'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
'level' => env('LOG_LEVEL', 'debug'),
'days' => 14, // Keep logs for 14 days
],

Můžete nastavit days pro kontrolu, jak dlouho Laravel uchovává staré soubory protokolu před jejich odstraněním. Nastavení days to 0 zakáže automatické mazání.

Při konfiguraci bude Laravel automaticky generovat soubory jako:

storage/logs/laravel-2025-10-09.log
storage/logs/laravel-2025-10-10.log

Pokud změníte LOG_CHANNEL ve vašem .env, běžet:

php artisan config:cache

Vytvoření vlastního kanálu denního záznamu

Pokud potřebujete samostatné soubory protokolu (například jeden pro platební operace), definujte vlastní kanál v poli config/logging.php:

'channels' => [
'payments' => [
'driver' => 'daily',
'path' => storage_path('logs/payments.log'),
'level' => 'info',
'days' => 30,
],
],

Pak jej použijte ve svém kódu:

Log::channel('payments')->info('Payment processed successfully.');

Ověření nastavení protokolu

Po provedení změn otestujte konfiguraci protokolování:

Log::info('Daily log configuration verified successfully.');

Pak zkontrolujte storage/logs adresář, měli byste vidět nově vytvořený soubor protokolu pro dnešní den.

V případě potřeby můžete také přistupovat k základní instanci Monologu:

$monolog = Log::getLogger();

Souhrn

Úkol Příkaz nebo soubor
Výchozí cesta protokolu storage/logs/laravel.log
Zkontrolujte konfiguraci config/logging.php
Oprava oprávnění sudo chown -R www-data:www-data storage && sudo chmod -R 775 storage
Vytvoření chybějícího souboru protokolu touch storage/logs/laravel.log
Povolení denních záznamů 'default' => 'daily' in config/logging.php
Vymazání konfigurační mezipaměti php artisan config:clear / php artisan config:cache

Závěrečné myšlenky

Systém protokolování v systému Laravel je robustní a vysoce konfigurovatelný. Pokud víte, kam se protokoly ukládají, jak řešit problémy s oprávněním a jak konfigurovat denní nebo vlastní kanály, budete mít plnou kontrolu nad tím, jak vaše aplikace zaznamenává informace. To zajistí přehlednější ladění, snadnější údržbu a spolehlivé monitorování ve všech prostředích.

Původní článek publikoval Nabil Hassen.

Mohlo by vám pomoct

Praktické věci kolem webu

Než se pustíte do webu, hodí se mít jasno v podkladech, WordPressu, cookies a měření.

Google reference

Co říkají klienti

Ukázky skutečných recenzí, které klienti zanechali na mém Google profilu.

Přejít na recenze
★ ★ ★ ★ ★

„Člověk, který své práci a rozumí a ví co dělá. Velmi rychlá komunikace a profesionální přístup. Doporučuji.“

Jaroslav Kupča
Google
★ ★ ★ ★ ★

„Skvělá spolupráce, při dalších projektech určitě nebudu shánět někoho jiného.“

Roman Koňařík
Google
★ ★ ★ ★ ★

„S panem Vančurou jsem spolupracovala na tvorbě mých webových stránek a jsem maximálně spokojená. Oceňuji profesionální přístup, rychlou komunikaci a schopnost přesně pochopit moje představy. Web je moderní, přehledný, funkční a skvěle vypadá i na mobilu. Celý proces proběhl hladce, s jasným vysvětlením jednotlivých kroků a výborným výsledkem. Určitě doporučuji každému, kdo hledá spolehlivý a kvalitní přístup.“

Barbora Zemánková
Google
★ ★ ★ ★ ★

„Spolupráce při tvorbě konfigurátoru proběhla naprosto bez problémů. Oceňuji profesionální přístup, rychlou komunikaci a schopnost pochopit specifický projekt od A do Z. Konfigurátor je přehledný, funkční a přesně odpovídá mým požadavkům. Rozhodně doporučuji.“

mareksevcik_FPV
Google
★ ★ ★ ★ ★

„Velmi dobrá a rychlá spolupráce. Doporučuji!“

Leoš Kaucký
Google
★ ★ ★ ★ ★

„Přesně takto si představujeme profesionální práci. Dekujeme“

STAVILLI
Google
★ ★ ★ ★ ★

„Ať už se jedná o optimalizaci webu, nebo tvorbu na míru oceňuji kromě profesionální práce a znalostí problematiky také férový přístup a komunikaci.“

Aleš Illický
Google
★ ★ ★ ★ ★

„Děkuji za profesionální spolupráci, vše dle domluvy, naprostá spokojenost a mohu jen vřele doporučit.... Při dalších projektech určitě opět využiji Vašich služeb“

Peter Spilak
Google
★ ★ ★ ★ ★

„Profesionalita a velká ochota, nemohu jinak než doporučit“

Magdalena Vašková
Google
★ ★ ★ ★ ★

„Skvělá zkušenost při tvorbě webu, profesionální přístup, rychlost, ochota pomoci“

Jana Kono
Google
★ ★ ★ ★ ★

„Rychlá spolupráce a komunikace – mohu jen doporučit.“

Gawix
Google
★ ★ ★ ★ ★

„Moc mi pomohl, když jsem potřebovala pomoc s webem. A bylo to gratis :)). Jsem mu neskonale vděčná.“

Radka Arbesová
Google
★ ★ ★ ★ ★

„Děkuji Jiřímu za rychlou a kvalitní spolupráci na tvorbě webu. Srozumitelná a ochotná komunikace mě vždycky potěší a přináší důvěru.“

Jiří Mařík
Google
★ ★ ★ ★ ★

„Jsem maximálně spokojená. Rychlost, ochota a cenově dostupné. Děkuji“

Veronika Černá
Google
★ ★ ★ ★ ★

„Naprostá spokojenost. Rychlá komunikace, skvělá cena a odborná pomoc. Moc děkuji :)“

Patricie Kučerová
Google
★ ★ ★ ★ ★

„Velká spokojenost, rychlost a p. Vančura moc dobře ví co dělá. :)“

Ondřej Daniško
Google
★ ★ ★ ★ ★

„dobrá práce, rychlá odezva“

Zuzana Jírová
Google
★ ★ ★ ★ ★

„S programátory mám zkušeností hodně, ale tady musím opravdu pochválit. Pro mě a mé přátele vytvořil skvělý nástroj na evidenci sbírek a opravdu se to povedlo. Bylo to hotové rychle, kvalitně a za skvělou cenu. Komunikace funguje velmi rychle, což je super a ne úplně standard. Díky za super práci, za mě 100% spokojenost!“

Zdeněk
Google
★ ★ ★ ★ ★

„Vše bylo rychlé a hlavně to funguje. Dobrá práce.“

Lukáš Bartášek
Google
★ ★ ★ ★ ★

„Normálně recenze nepíši, ale zde rád doporučím kvalitní práci. Jiří pro mě vytvořil web pro dětské tábory. Kvalitní práce, rychlá komunikace a vlastní nápady, které Jiří sám přidá, jsou na velice vysoké úrovni. Nemohu hodnotit jinak než 5/5.“

Tomáš Loněk
Google
★ ★ ★ ★ ★

„Pan Jiri nam delal jiz 3 webove stranky a vzdy velka spokojenost, je mega rychly a vse hned kladne vyridi, mohu pouze doporucit. Poradi si bez problemu i s rezervacnimi kalendaremi, udrzbou socialnich siti, atd.“

Barbara Mašková
Google