Intern
Логгиро чӣ гуна аст?
sobes.tech AI
Ҷавоб аз AI
Процесси қайт жазиш маълумотлари, программа ёки тизим ишга туширилган вақтда юз берган воқеалар ҳақида. Илованинг ишлашини хато топиш, кузатиш ва таҳлил қилишда ёрдам беради.
Лог турлари:
- Маълумот (info): Умумий маълумотлар.
- Дебаг (debug): Хатоларни топиш учун батафсил маълумотлар.
- Эскертмалар (warning): Муаммога олиб келиши мумкин бўлган ҳолатлар.
- Хатолар (error): Юз берган ва ишни тўхтатмаган хатолар.
- Критик (critical): Тизимнинг бир қисми ёки бутун тизимнинг тўхашига олиб келган хатолар.
Асбоблар ва ёндашувлар:
- PSR-3 Logger интерфейси - PHP учун стандарт логгер интерфейси.
- Monolog - PHPда машҳур логлаш китобхонаси.
- Файлларга, маълумотлар базаларига, ташқи хизматларга (масалан, Sentry, ELK) лог ёзиш.
PSR-3 билан фойдаланиш намунаси:
<?php
use Psr\Log\LoggerInterface;
class MyClass
{
private LoggerInterface $logger;
public function __construct(LoggerInterface $logger)
{
$this->logger = $logger;
}
public function doSomething(): void
{
$this->logger->info('doSomething бошланиши', ['context_data' => 'қиймат']);
try {
// ... ижро коди
} catch (\Exception $e) {
$this->logger->error('doSomething вақтида хато', [
'exception' => $e,
'user_id' => 123
]);
}
$this->logger->debug('doSomething тугаши');
}
}