Use of Monolog with PHP
Upcoming SlideShare
Loading in...5
×
 

Use of Monolog with PHP

on

  • 436 views

This presntation is all about logging in of data and errors using monolog. Anyone who works with php would find this useful for sure.

This presntation is all about logging in of data and errors using monolog. Anyone who works with php would find this useful for sure.

Statistics

Views

Total Views
436
Views on SlideShare
407
Embed Views
29

Actions

Likes
0
Downloads
3
Comments
0

1 Embed 29

http://www.slideee.com 29

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Use of Monolog with PHP Use of Monolog with PHP Presentation Transcript

  • Monolog in PHP Presenter : SATHEESKUMAR A Company : MINDFIRE SOLUTIONS Date : 04/06/2014
  • Presenter: Satheeskumar A, Mindfire Solutions About me ➢ Zend Certified Engineer (ZCE) ➢ Oracle Certified Mysql Professional (OCP – MYSQL) ➢ 10 gen certified Mongodb professional ➢ Microsoft Certified HTML5 professional ➢ Accrediated certified Scrum Master Skills: PHP, Mysql, Symfony2, CodeIgniter, SVN, GIT, Doctrine, Propel ... Connect me: Facebook: https://www.facebook.com/satheeskumar.ashokkumar/ Twitter: https://twitter.com/sathees1kumar Linked in: in.linkedin.com/in/satheeskumara/ Google Plus: https://plus.google.com/+satheeskumara Contact me: E-mail: satheeskumara@mindfiresolutions.com / Sathees1kumar@gmail.com Skype: mfsi_satheesk
  • Presenter: Satheeskumar A, Mindfire Solutions Agenda  What is Logging  History of logging  Need of Logging  Current Conventions  Use of Monolog  Components of Monolog  Different Types of Handlers  Types of Formatters  Tips and Tricks  Sample Code View slide
  • Take Away “To know the best method of logging data of different contexts for specific environments such as test/dev and production” Presenter: Satheeskumar A, Mindfire Solutions View slide
  • Logging Presenter: Satheeskumar A, Mindfire Solutions  The process of using a computer to collect data through sensors/listeners/events.  Analyze the data and save and output the results of the collection and analysis.  Data logging also implies the control of how the computer collects and analyzes the data.
  • History of Logging Presenter: Satheeskumar A, Mindfire Solutions  Even with use of computers there was a real need to measure the overall performance of any reasearch  Early 1980's there was a Instrument called VELA (virtual laboratory) used for data harvesting  Late 1980's, A device was invented to collect information through sensors  Later then data logging/harvesting has been used widely in all applications/reasearches/products.
  • Need of Logging Presenter: Satheeskumar A, Mindfire Solutions  Track Users activity/Movement  Transaction Logging  Track user errors  System level failures/warnings  Research Data collection and Interpretation
  • Types of Logging Presenter: Satheeskumar A, Mindfire Solutions  Error / Exception logs  Access logs  System logs  Application logs  Database logs  Transaction logs  Mailer logs etc...
  • Current Conventions - Apache/PHP Presenter: Satheeskumar A, Mindfire Solutions <VirtualHost *:80> <Directory /var/www/html/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
  • Monolog Enters Here... Presenter: Satheeskumar A, Mindfire Solutions  Monolog is a PHP library that support different levels of logging for PHP Applications and depends on PSR.  Inspired by Python Logbook library  Provides stack of handlers  More Powerful than conventional way of logging in applications
  • What's different ? Presenter: Satheeskumar A, Mindfire Solutions ● Monolog sends your logs to files, sockets, inboxes, databases and various web services. ● Channel based approach ● Different stack of handlers for specific channels ● Pile up handler stack based on severity. ● Format Interpretation depending on severity and channel ● Prevents Bubbling when severity is reached
  • Severity Levels Presenter: Satheeskumar A, Mindfire Solutions ● DEBUG – 100 ● INFO – 200 ● NOTICE – 250 ● WARNING – 300 ● ERROR – 400 ● CRITICAL – 500 ● ALERT – 500 ● EMERGENCY – 600
  • Components that make up Presenter: Satheeskumar A, Mindfire Solutions ● Handlers ● Formatters ● Processors ● Dependent packages like send_mail / FirePHP/ Chrome PHP etc..
  • Handlers Presenter: Satheeskumar A, Mindfire Solutions ● Each logger instance will have a stack of handlers. ● If no handlers are pushed to the stack, stream handler will handled as the default. ● The last pushed handler will be treated first. ● Other handlers are bubbled up based on severity ● Bubbling can be stopped at any level. Handler instances can be shared between multiple channels. ● Support to write to Database and cloud services
  • Formatters Presenter: Satheeskumar A, Mindfire Solutions ● Each handler has a default format. ● Custom Formatter instance can be assigned to any Handler. ● Formatters can be shared between different handlers ● Formatters can be different for different channels ● Line Formatter is the default formatter.
  • Processors Presenter: Satheeskumar A, Mindfire Solutions ● Processors to include more details before the handler renders the log message. ● Can be used to nail down the issue ● Used to measure the memory usage ● Introspection of running processess.
  • Advantages Presenter: Satheeskumar A, Mindfire Solutions ● Option to have different channel for different module ● Custom detailing ● Different handlers for different development ● Thorough participation in different stages of lifecycle ● Open for third party integration ● Readable and Beautiful Layered message
  • Monolog in Development Env Presenter: Satheeskumar A, Mindfire Solutions ● Use of FirePHPHandler and ChromePHPHandler ● FirePHPFormatting can be used to format the log messages ● Prevention of bubbling from writing to database
  • Monolog in Production Env Presenter: Satheeskumar A, Mindfire Solutions ● Rotatelog handler rotates log ● Send Beautiful error messages via HTML mails ● Write the log messages to any Database mysql, mongo, couch. ● Support with ORM packages like Doctrine etc.. ● Can be integrated to cloud services like Loggly ● Keeps your log messages distinct for different modular functionality
  • Lets dirty our hands with code Presenter: Satheeskumar A, Mindfire Solutions $log = new Logger('app'); $log->pushHandler( new StreamHandler(__DIR__ . '/logs/error.log', Logger::NOTICE, false)); $log->addNotice('this is a notice'); $log->addNotice('this is an error');
  • Sample Code in GIT Presenter: Satheeskumar A, Mindfire Solutions https://github.com/sathees1kumar/monolog Feel free to fork and play :)
  • Do you use Frameworks / CMS ? Presenter: Satheeskumar A, Mindfire Solutions ● CakePHP - https://github.com/jadb/cakephp-monolog ● Symfony2 - https://github.com/symfony/MonologBundle ● Slim – https://github.com/flynsarmy/Slim-Monolog ● Zend2 - https://packagist.org/packages/enlitepro/enlite-monolog ● CodeIgniter - https://github.com/pfote/Codeigniter-Monolog ● Laravel – Inbuilt Support. ● Drupal - https://drupal.org/project/monolog ● Wordpress - https://packagist.org/packages/fancyguy/wordpress-monolog
  • References Presenter: Satheeskumar A, Mindfire Solutions The only link which is more than enough to get started with, https://github.com/Seldaek/monolog
  • ? Presenter: Satheeskumar A, Mindfire Solutions
  • Thank you :) Presenter: Satheeskumar A, Mindfire Solutions
  • www.mindfiresolutions.com https://www.facebook.com/MindfireSolutions http://www.linkedin.com/company/mindfire-solutions http://twitter.com/mindfires