Download the PHP package snakano/cakephp-monolog without Composer
On this page you can find all versions of the php package snakano/cakephp-monolog. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download snakano/cakephp-monolog
More information about snakano/cakephp-monolog
Files in snakano/cakephp-monolog
Package cakephp-monolog
Short Description CakePHP Monolog Plugin
License MIT
Homepage https://github.com/SNakano/cakephp-monolog
Informations about the package cakephp-monolog
CakePHP Monolog Plugin (Addtion Datadog processor)
Despite the very advanced logging system offered in CakePHP, I still would have had to write a lot more code to be able to handle logs the way I needed. To write the least code possible, I chose to go with the popular monolog library.
DatadogProcessor
append Datadog APM Trace ID and Span ID.
This processor append the identifiers to all the log messages automatically.
See: https://docs.datadoghq.com/tracing/advanced/connect_logs_and_traces/?tab=php
Install
Because monolog is a composer package and to avoid having to manually write a lot of includes (vs. auto-loading), I decided to release this also as a composer package and take advantage of the auto-loading magic.
First, add this plugin as a requirement to your composer.json
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/SNakano/cakephp-monolog"
}
],
"require": {
"snakano/monolog": "dev-master"
}
}
And then update:
php composer.phar update
That's it! You should now be ready to start configuring your channels.
Configuration
Start by creating a logging configuration file (i.e. app/Config/log.php
) that you will include early
in your app/Config/bootstrap.php
:
A basic configuration, to replicate what Cake does but using Monolog (to give you a good starting example), would look something like this:
Note that with CakePHP versions < 2.4 the engine name should instead be Monolog.MonologLog
.
Simple, no? But let's really do some serious logging, otherwise why bother moving away from the default CakePHP logging system?
The example below shows how to setup:
- rotating logs that are kept from 30 days and readable by logstash with memory peak usage info
- normal log file with much more details about the request
- email notifications for critical and alert levels including only the error message