2017 © Pedro Peláez
 

cakephp-plugin cakephp-monolog

CakePHP Monolog Plugin

image

jadb/cakephp-monolog

CakePHP Monolog Plugin

  • Monday, August 4, 2014
  • by jadb
  • Repository
  • 3 Watchers
  • 54 Stars
  • 1,298 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 14 Forks
  • 3 Open issues
  • 14 Versions
  • 13 % Grown

The README.md

Build Status, (*1)

CakePHP Monolog Plugin

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., (*2)

NOTE The package name changed to jadb/cakephp-monolog, to not violate the cakephp namespace., (*3)

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., (*4)

First, add this plugin as a requirement to your composer.json:, (*5)

{
    "require": {
        "cakephp/monolog": "*"
    }
}

And then update:, (*6)

php composer.phar update

That's it! You should now be ready to start configuring your channels., (*7)

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:, (*8)

include 'log.php';

A basic configuration, to replicate what Cake does but using Monolog (to give you a good starting example), would look something like this:, (*9)

CakePlugin::load('Monolog');

CakeLog::config('debug', array(
    'engine' => 'Monolog.Monolog',
    'channel' => 'app',
    'handlers' => array(
        'Stream' => array(
            LOGS . 'debug.log',
            'formatters' => array(
                'Line' => array("%datetime% %channel% %level_name%: %message%\n")
            )
        )
    )
));

Note that with CakePHP versions < 2.4 the engine name should instead be Monolog.MonologLog., (*10)

Simple, no? But let's really do some serious logging, otherwise why bother moving away from the default CakePHP logging system?, (*11)

The example below shows how to setup:, (*12)

  • 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
CakeLog::config('logstash', array(
    'engine' => 'Monolog.Monolog',
    'channel' => 'app',
    'handlers' => array(
        'RotatingFile' => array(
            LOGS . 'logstash.log',
            30,
            'formatters' => array(
                'Logstash' => array('web', env('SERVER_ADDR'))
            ),
            'processors' => array('MemoryPeakUsage')
        ),
        'Stream' => array(
            LOGS . 'logstash.log',
            'formatters' => array(
                'Line' => array("%datetime% %channel% %level_name%: %message% %context% %extra%\n")
            ),
            'processors' => array('MemoryUsage', 'Web')
        ),
        'CakeEmail' => array(
            'admin@domain.com',
            'ALERT: APPLICATION REQUIRES IMMEDIATE ATTENTION.',
            'default'
        )
    )
));

The CakeEmailHandler was just submitted to the main monolog repo today. If it is not merged by the time you are reading this, just use [my fork][9]., (*13)

The Versions

04/08 2014

dev-master

9999999-dev https://github.com/jadb/cakephp-monolog

CakePHP Monolog Plugin

  Sources   Download

MIT

The Requires

 

plugin cakephp monolog

04/08 2014

2.0.0

2.0.0.0 https://github.com/jadb/cakephp-monolog

CakePHP Monolog Plugin

  Sources   Download

MIT

The Requires

 

plugin cakephp monolog

26/01 2014

1.4.2

1.4.2.0 https://github.com/jadb/cakephp-monolog

CakePHP Monolog Plugin

  Sources   Download

MIT

The Requires

 

plugin cakephp monolog

09/01 2014

1.5.2

1.5.2.0 https://github.com/jadb/cakephp-monolog

CakePHP Monolog Plugin

  Sources   Download

MIT

The Requires

 

plugin cakephp monolog

09/01 2014

1.5.1

1.5.1.0 https://github.com/jadb/cakephp-monolog

CakePHP Monolog Plugin

  Sources   Download

MIT

The Requires

 

plugin cakephp monolog

09/01 2014

1.5.0

1.5.0.0 https://github.com/jadb/cakephp-monolog

CakePHP Monolog Plugin

  Sources   Download

MIT

The Requires

 

plugin cakephp monolog

15/02 2013

1.4.1

1.4.1.0 https://github.com/jadb/cakephp-monolog

CakePHP Monolog Plugin

  Sources   Download

MIT

The Requires

 

plugin cakephp monolog

13/02 2013

1.4.0

1.4.0.0 https://github.com/jadb/cakephp-monolog

CakePHP Monolog Plugin

  Sources   Download

MIT

The Requires

 

plugin cakephp monolog

13/02 2013

1.2.1

1.2.1.0 https://github.com/jadb/cakephp-monolog

CakePHP Monolog Plugin

  Sources   Download

MIT

The Requires

 

plugin cakephp monolog

13/02 2013

1.3.1

1.3.1.0 https://github.com/jadb/cakephp-monolog

CakePHP Monolog Plugin

  Sources   Download

MIT

The Requires

 

plugin cakephp monolog

13/02 2013

1.3.0

1.3.0.0 https://github.com/jadb/cakephp-monolog

CakePHP Monolog Plugin

  Sources   Download

MIT

The Requires

 

plugin cakephp monolog

13/02 2013

1.2.0

1.2.0.0 https://github.com/jadb/cakephp-monolog

CakePHP Monolog Plugin

  Sources   Download

MIT

The Requires

 

plugin cakephp monolog

12/02 2013

1.1.0

1.1.0.0 https://github.com/jadb/cakephp-monolog

CakePHP Monolog Plugin

  Sources   Download

MIT

The Requires

 

plugin cakephp monolog

12/02 2013

1.0.0

1.0.0.0 https://github.com/jadb/cakephp-monolog

CakePHP Monolog Plugin

  Sources   Download

MIT

The Requires

 

plugin cakephp monolog