PHP के लिए लॉगिंग (Monolog)

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें
```html

PHP में लॉगिंग क्या है और इसकी आवश्यकता क्यों है?

लॉगिंग एप्लिकेशन के काम करने की जानकारी रिकॉर्ड करने की प्रक्रिया है: त्रुटियाँ, चेतावनियाँ, डीबग संदेश और उपयोगकर्ता क्रियाएँ। PHP में, Python के विपरीत, 'बॉक्स से बाहर' कोई अंतर्निहित PSR-संगत लॉगर नहीं है (हालाँकि error_log() फ़ंक्शन मौजूद हैं)। इसलिए सबसे अच्छा समाधान Monolog लाइब्रेरी का उपयोग करना है - जो PHP प्रोजेक्ट्स के लिए डी-फैक्टो लॉगिंग मानक है।

लॉग क्यों करें?

  • प्रोडक्शन डीबगिंग (त्रुटियों का स्टैक ट्रेस)
  • प्रदर्शन निगरानी
  • सुरक्षा ऑडिट (लॉगिन, डेटा में बदलाव)
  • उपयोगकर्ता व्यवहार का विश्लेषण

Monolog की स्थापना

स्थापना Composer के माध्यम से की जाती है (PHP के लिए pip का एनालॉग):

composer require monolog/monolog

काम करने के लिए PHP 8.0+ और Composer 2.x की आवश्यकता होगी।

मुख्य कार्य और क्षमताएँ

Monolog समर्थन करता है:

  • चैनल (Channels) — एप्लिकेशन के विभिन्न भागों के लिए पृथक लॉगर (उदाहरण के लिए, 'security', 'database')
  • लॉगिंग स्तर (DEBUG, INFO, WARNING, ERROR, CRITICAL और अन्य)
  • हैंडलर (Handlers) — कहाँ लिखना है: फ़ाइलें, डेटाबेस, Slack, Telegram, ईमेल
  • प्रोसेसर (Processors) — संदेशों को संदर्भ (IP, समय, सत्र) से समृद्ध करना

कोड उदाहरण

<?phprequire 'vendor/autoload.php';

use Monolog\\Logger;use Monolog\\Handler\\StreamHandler;use Monolog\\Handler\\TelegramBotHandler;use Monolog\\Processor\\WebProcessor;

// 'app' चैनल बनाएँ$log = new Logger('app');

// फ़ाइल में लिखने के लिए हैंडलर$log->pushHandler(new StreamHandler(__DIR__.'/logs/app.log', Logger::WARNING));

// Telegram के लिए हैंडलर (वैकल्पिक)$telegram = new TelegramBotHandler('YOUR_BOT_TOKEN', 'CHAT_ID', Logger::CRITICAL);$log->pushHandler($telegram);

// IP और User-Agent जोड़ने के लिए प्रोसेसर$log->pushProcessor(new WebProcessor());

// लॉग करें$log->info('उपयोगकर्ता सिस्टम में लॉग इन हुआ', ['user_id' => 123]);$log->error('डेटाबेस त्रुटि', ['sql' => 'SELECT * FROM users']);

कब उपयोग करें

निम्नलिखित मामलों में Monolog अनिवार्य है:

  • PHP पर कोई भी व्यावसायिक या ओपन-सोर्स प्रोजेक्ट (Symfony, Laravel डिफ़ॉल्ट रूप से Monolog का उपयोग करते हैं)
  • माइक्रोसर्विसेज़ और API — अनुरोध ट्रेसिंग के लिए
  • क्रॉन-स्क्रिप्ट और वर्कर — कार्य निष्पादन को ट्रैक करने के लिए
  • बाहरी सेवाओं (Graylog, Sentry, Papertrail में लॉग) के साथ एकीकरण करते समय

लाइब्रेरी का हज़ारों प्रोजेक्ट्स में परीक्षण किया गया है और यह लॉग के लिए लगभग किसी भी ट्रांसपोर्ट का समर्थन करती है। यदि आप PHP में लिख रहे हैं — तो Monolog से शुरुआत करें।

```

अनुशंसाएँ