PHP:
Lokitus
Kuinka:
PHP:ssä on sisäänrakennettu virhelokitusfunktio, joka on helppokäyttöinen. Lisää vain error_log()
koodiisi lähettääksesi viestin palvelimesi lokeihin. Voit myös muokata sitä kirjoittamaan tiettyyn tiedostoon.
<?php
// Yksinkertaisen tiedotusviestin lokittaminen
error_log("Tämä on tiedotuslokin merkintä.");
// Virheviestin lokittaminen
error_log("Tämä on virhelokin merkintä.", 0);
// Lokitus määritettyyn tiedostoon
file_put_contents('/polku/sinun/custom.log', "Muokattu lokimerkintä.\n", FILE_APPEND);
// Structuroitu lokitus Monologin avulla
require 'vendor/autoload.php';
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
// Luo logger
$logger = new Logger('nimi');
// Lisää nyt muutama käsittelijä
$logger->pushHandler(new StreamHandler('/polku/sinun/monolog.log', Logger::WARNING));
// Nyt voit käyttää loggeriasi
$logger->warning('Tämä on varoituslokin merkintä!');
$logger->error('Tämä on virhelokin merkintä!');
?>
Tämä tulostaa lokisi joko palvelimen lokiin tai määrittelemääsi tiedostoon tavallisessa tekstimuodossa.
Syväsukellus:
Aiemmin PHP-kehittäjät turvautuivat error_log()
-funktioon tai Apache/Nginx-lokeihin ongelmien havaitsemiseksi, mutta se voi olla kaoottista, kun tarvitsisi jäsentää tavallisia tekstitiedostoja eikä ole helppoa tapaa suodattaa tai järjestää niitä. Tästä syystä lokitus-kirjastot kuten Monolog, ovat tuoneet PHP:hen rakenteellisen lokituksen aikakauden. Nämä ratkaisut tarjoavat paremman hallinnan monipuolisten lokituskanavien, vakavuustasojen ja muotoillun tulosteen (kuten JSON, mikä on unelma ohjelmallisessa jäsentämisessä) avulla.
Vaihtoehtoja Monologille sisältävät Log4php, KLogger ja Apachen Log4php. Toteutukseltaan vankka lokitus vaatii muutakin kuin datan pudottamista minne sattuu, vaan myös asioiden kuten lokikierron, arkistointistrategioiden ja integrointi valvontatyökaluihin ottamista huomioon ollakseen todella hyödyllistä.
Sinun tulisi pitää mielessä PSR-3 Logger Interface, joka hahmottelee yhteisen rajapinnan lokitus-kirjastoille, varmistaen yhteensopivuutta ja johdonmukaista tapaa päästä käsiksi lokitusmekanismeihin.
Katso myös:
- Monolog GitHub-varasto
- PSR-3 Logger Interface -määrittely
- PHP Virhelokidokumentaatio
- KLogger: Yksinkertainen lokitusluokka PHP:lle
- Log4php: Monikäyttöinen lokituskehyssarja PHP:lle
Kokeile ensin sisäänrakennettuja toimintoja, mutta tavoittele pitkäikäisempää ja skaalautuvampaa lähestymistapaa, harkitse ajan investoimista tutustuaksesi kirjastoon kuten Monolog. Iloisia lokitushetkiä!