Skip to content

Instantly share code, notes, and snippets.

@mamchenkov
Last active January 5, 2022 09:31
Show Gist options
  • Save mamchenkov/04f708b8492f0f5d7a10 to your computer and use it in GitHub Desktop.
Save mamchenkov/04f708b8492f0f5d7a10 to your computer and use it in GitHub Desktop.

Revisions

  1. mamchenkov revised this gist Nov 20, 2015. No changes.
  2. mamchenkov created this gist Nov 20, 2015.
    34 changes: 34 additions & 0 deletions monolog.php
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,34 @@
    <?php
    // Before: composer require monolog/monolog

    // composer autoloader
    require_once 'vendor/autoload.php';

    // Shortcuts for simpler usage
    use \Monolog\Logger;
    use \Monolog\Formatter\LineFormatter;
    use \Monolog\Handler\StreamHandler;

    // Common logger
    $log = new Logger('files');

    // Line formatter without empty brackets in the end
    $formatter = new LineFormatter(null, null, false, true);

    // Debug level handler
    $debugHandler = new StreamHandler('debug.log', Logger::DEBUG);
    $debugHandler->setFormatter($formatter);

    // Error level handler
    $errorHandler = new StreamHandler('error.log', Logger::ERROR);
    $errorHandler->setFormatter($formatter);

    // This will have both DEBUG and ERROR messages
    $log->pushHandler($debugHandler);

    // This will have only ERROR messages
    $log->pushHandler($errorHandler);

    // The actual logging
    $log->debug('I am debug');
    $log->error('I am error', array('productId' => 123));