wp-media / monolog
Sends your logs to files, sockets, inboxes, databases and various web services
Requires
- php: >=8.1
- psr/log: ^2.0 || ^3.0
Requires (Dev)
- ext-json: *
- aws/aws-sdk-php: ^3.0
- doctrine/couchdb: ~1.0@dev
- elasticsearch/elasticsearch: ^7 || ^8
- graylog2/gelf-php: ^1.4.2
- guzzlehttp/guzzle: ^7.4
- guzzlehttp/psr7: ^2.2
- mongodb/mongodb: ^1.8
- php-amqplib/php-amqplib: ~2.4 || ^3
- php-console/php-console: ^3.1.3
- phpstan/phpstan: ^1.4
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-strict-rules: ^1.1
- phpunit/phpunit: ^9.5.16
- predis/predis: ^1.1
- ruflin/elastica: ^7
- symfony/mailer: ^5.4 || ^6
- symfony/mime: ^5.4 || ^6
Suggests
- ext-amqp: Allow sending log messages to an AMQP server (1.0+ required)
- ext-curl: Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler
- ext-mbstring: Allow to work properly with unicode symbols
- ext-mongodb: Allow sending log messages to a MongoDB server (via driver)
- ext-openssl: Required to send log messages using SSL
- ext-sockets: Allow sending log messages to a Syslog server (via UDP driver)
- aws/aws-sdk-php: Allow sending log messages to AWS services like DynamoDB
- doctrine/couchdb: Allow sending log messages to a CouchDB server
- elasticsearch/elasticsearch: Allow sending log messages to an Elasticsearch server via official client
- graylog2/gelf-php: Allow sending log messages to a GrayLog2 server
- mongodb/mongodb: Allow sending log messages to a MongoDB server (via library)
- 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
- rollbar/rollbar: Allow sending log messages to Rollbar
- ruflin/elastica: Allow sending log messages to an Elastic Search server
Provides
- psr/log-implementation: 3.0.0
- dev-main / 3.x-dev
- 3.0.0
- 3.0.0-RC1
- 2.x-dev
- 2.7.0
- 2.6.0
- 2.5.0
- 2.4.0
- 2.3.5
- 2.3.4
- 2.3.3
- 2.3.2
- 2.3.1
- 2.3.0
- 2.2.0
- 2.1.1
- 2.1.0
- 2.0.2
- 2.0.1
- 2.0.0
- 2.0.0-beta2
- 2.0.0-beta1
- 1.x-dev
- 1.27.1
- 1.27.0
- 1.26.1
- 1.26.0
- 1.25.5
- 1.25.4
- 1.25.3
- 1.25.2
- 1.25.1
- 1.25.0
- 1.24.0
- 1.23.0
- 1.22.1
- 1.22.0
- 1.21.0
- 1.20.0
- 1.19.0
- 1.18.2
- 1.18.1
- 1.18.0
- 1.17.2
- 1.17.1
- 1.17.0
- 1.16.0
- 1.15.0
- 1.14.0
- 1.13.1
- 1.13.0
- 1.12.0
- 1.11.0
- 1.10.0
- 1.9.1
- 1.9.0
- 1.8.0
- 1.7.0
- 1.6.0
- 1.5.0
- 1.4.1
- 1.4.0
- 1.3.1
- 1.3.0
- 1.2.1
- 1.2.0
- 1.1.0
- 1.0.2
- 1.0.1
- 0.0.1
This package is auto-updated.
Last update: 2024-10-25 10:08:33 UTC
README
Note This is the documentation for Monolog 3.x, if you are using older releases see the documentation for Monolog 2.x or Monolog 1.x
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.
Installation
Install the latest version with
$ composer require monolog/monolog
Basic Usage
<?php use Monolog\Level; use Monolog\Logger; use Monolog\Handler\StreamHandler; // create a log channel $log = new Logger('name'); $log->pushHandler(new StreamHandler('path/to/your.log', Level::Warning)); // add records to the log $log->warning('Foo'); $log->error('Bar');
Documentation
- Usage Instructions
- Handlers, Formatters and Processors
- Utility Classes
- Extending Monolog
- Log Record Structure
Support Monolog Financially
Get supported Monolog and help fund the project with the Tidelift Subscription or via GitHub sponsorship.
Tidelift delivers commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use.
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.
About
Requirements
- Monolog
^3.0
works with PHP 8.1 or above. - Monolog
^2.5
works with PHP 7.2 or above. - Monolog
^1.25
works with PHP 5.3 up to 8.1, but is not very maintained anymore and will not receive PHP support fixes anymore.
Support
Monolog 1.x support is somewhat limited at this point and only important fixes will be done. You should migrate to Monolog 2 or 3 where possible to benefit from all the latest features and fixes.
Submitting bugs and feature requests
Bugs and feature request are tracked on GitHub
Framework Integrations
- Frameworks and libraries using PSR-3 can be used very easily with Monolog since it implements the interface.
- Symfony comes out of the box with Monolog.
- Laravel comes 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 is usable with Monolog via the contributte/monolog or orisai/nette-monolog extensions.
- Proton Micro Framework comes out of the box with Monolog.
- FuelPHP comes out of the box with Monolog.
- Equip Framework comes out of the box with Monolog.
- Yii 2 is usable with Monolog via the yii2-monolog or yii2-psr-log-target plugins.
- Hawkbit Micro Framework comes out of the box with Monolog.
- SilverStripe 4 comes out of the box with Monolog.
- Drupal is usable with Monolog via the monolog module.
- Aimeos ecommerce framework is usable with Monolog via the ai-monolog extension.
- Magento comes out of the box with Monolog.
- Spiral Framework comes out of the box with Monolog bridge.
Author
Jordi Boggiano - j.boggiano@seld.be - http://twitter.com/seldaek
See also the list of contributors who participated in this project.
License
Monolog is licensed under the MIT License - see the LICENSE file for details
Acknowledgements
This library is heavily inspired by Python's Logbook library, although most concepts have been adjusted to fit to the PHP world.