Sobes.tech
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 тугаши');
    }
}