Sends your logs to files, sockets, inboxes, databases and various web services
Forks: 1 870
- php: >=5.3.0
- psr/log: ~1.0
- aws/aws-sdk-php: ^2.4.9
- doctrine/couchdb: ~1.0@dev
- graylog2/gelf-php: ~1.0
- jakub-onderka/php-parallel-lint: 0.9
- php-amqplib/php-amqplib: ~2.4
- php-console/php-console: ^3.1.3
- phpunit/phpunit: ~4.5
- phpunit/phpunit-mock-objects: 2.3.0
- raven/raven: ^0.13
- ruflin/elastica: >=0.90 <3.0
- swiftmailer/swiftmailer: ~5.3
- ext-amqp: Allow sending log messages to an AMQP server (1.0+ required)
- ext-mongo: Allow sending log messages to a MongoDB server
- aws/aws-sdk-php: Allow sending log messages to AWS services like DynamoDB
- doctrine/couchdb: Allow sending log messages to a CouchDB server
- graylog2/gelf-php: Allow sending log messages to a GrayLog2 server
- mongodb/mongodb: Allow sending log messages to a MongoDB server via PHP Driver
- php-amqplib/php-amqplib: Allow sending log messages to an AMQP server using php-amqplib
- php-console/php-console: Allow sending log messages to Google Chrome
- raven/raven: Allow sending log messages to a Sentry server
- rollbar/rollbar: Allow sending log messages to Rollbar
- ruflin/elastica: Allow sending log messages to an Elastic Search server
- psr/log-implementation: 1.0.0
- dev-master / 2.0.x-dev
This package is auto-updated.
Last update: 2023-05-29 00:51:04 UTC
Monolog sends your logs to files, sockets, inboxes, databases and various web services. See the complete list of handlers below. Special handlers allow you to build advanced logging strategies.
This library implements the PSR-3 interface that you can type-hint against in your own libraries to keep a maximum of interoperability. You can also use it in your applications to make sure you can always use another compatible logger at a later time. As of 1.11.0 Monolog public APIs will also accept PSR-3 log levels. Internally Monolog still uses its own level scheme since it predates PSR-3.
Install the latest version with
$ composer require monolog/monolog
<?php use Monolog\Logger; use Monolog\Handler\StreamHandler; // create a log channel $log = new Logger('name'); $log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING)); // add records to the log $log->warning('Foo'); $log->error('Bar');
Third Party Packages
Third party handlers, formatters and processors are listed in the wiki. You can also add your own there if you publish one.
- Monolog works with PHP 5.3 or above, and is also tested to work with HHVM.
Submitting bugs and feature requests
Bugs and feature request are tracked on GitHub
- Frameworks and libraries using PSR-3 can be used very easily with Monolog since it implements the interface.
- Symfony2 comes out of the box with Monolog.
- Silex comes out of the box with Monolog.
- Laravel 4 & 5 come out of the box with Monolog.
- Lumen comes out of the box with Monolog.
- PPI comes out of the box with Monolog.
- CakePHP is usable with Monolog via the cakephp-monolog plugin.
- Slim is usable with Monolog via the Slim-Monolog log writer.
- XOOPS 2.6 comes out of the box with Monolog.
- Aura.Web_Project comes out of the box with Monolog.
- Nette Framework can be used with Monolog via Kdyby/Monolog extension.
- Proton Micro Framework comes out of the box with Monolog.
- FuelPHP come out of the box with Monolog.
Jordi Boggiano - email@example.com - http://twitter.com/seldaek
See also the list of contributors which participated in this project.
Monolog is licensed under the MIT License - see the
LICENSE file for details
This library is heavily inspired by Python's Logbook library, although most concepts have been adjusted to fit to the PHP world.