Home

Awesome

Phalcon Logentries

Software License Build Status Total Downloads

Phalcon library to connect and make log entries using Logentries. You can adapt it to your own needs or improve it if you want.

Please write us if you have any feedback.

Thanks.

NOTE

The master branch will always contain the latest stable version. If you wish to check older versions or newer ones currently under development, please switch to the relevant branch.

Get Started

Requirements

To use this library on your machine, you need at least:

Development requirements:

Installation

Install composer in a common location or in your project:

$ curl -s http://getcomposer.org/installer | php

Create the composer.json file as follows:

{
    "require": {
        "phalcon/logentries": "~1.2"
    }
}

Run the composer installer:

$ php composer.phar install

Setup

When you have made your account on Logentries. Log in and create a new host with a name that best represents your app. Then, click on your new host and inside that, create a new log file with a name that represents what you are logging, example: myerrors. Bear in mind, these names are purely for your own benefit. Under source type, select Token TCP and click Register. You will notice a token appear beside the name of the log, these is a unique identifier that the logging library will use to access that logfile. You can copy and paste this now or later.

Then create adapter instance:

use Phalcon\Logger\Adapter\Logentries;

$di->set('logger', function() {
    $logger = new Logentries([
        'token' => getenv('LOGENTRIES_TOKEN'),
        // optional parameters
    ]);
    
    return $logger;
});

LOGENTRIES_TOKEN is the token we copied earlier from the Logentries UI. It associates that logger with the log file on Logentries.

Adding a Custom Host Name and Host ID sent in your PHP log events

To Set a custom host name that will appear in your PHP log events as Key / Value pairs pass to the Logentries::__constructor the following parameters:

For example:

use Phalcon\Logger\Adapter\Logentries;

$di->set('logger', function() {
    $logger = new Logentries([
        'token'             => getenv('LOGENTRIES_TOKEN'),
        'host_name_enabled' => true,
        'host_name'         => 'Custom_host_name_here',
        'host_id'           => 'Custom_ID_here_12345'
    ]);

    return $logger;
});

The host_name param can be left as an empty string, and the Logentries component will automatically attempt to assign a host name from your local host machine and use that as the custom host name.

To set a custom Host ID that will appear in your PHP log events as Key / Value pairs:

Creating a Log

The example below shows how to create a log and add messages to it:

use Phalcon\Logger;
use Phalcon\Logger\Adapter\Logentries as LeAdapter;

$logger = new LeAdapter(['token' => 'ad43g-dfd34-df3ed-3d3d3']);

// These are the different log levels available:
$logger->critical('This is a critical message');
$logger->emergency('This is an emergency message');
$logger->debug('This is a debug message');
$logger->error('This is an error message');
$logger->info('This is an info message');
$logger->notice('This is a notice message');
$logger->warning('This is a warning message');
$logger->alert('This is an alert message');


// You can also use the log() method with a Logger constant:
$logger->log('This is another error message', Logger::ERROR);

// If no constant is given, DEBUG is assumed.
$logger->log('This is a message');

// Closes the logger
$logger->close();

Tests

Phosphorum use Codeception unit test.

First you need to re-generate base classes for all suites:

$ vendor/bin/codecept build

Execute all test with run command:

$ vendor/bin/codecept run
# OR
$ vendor/bin/codecept run --debug # Detailed output

More details about Console Commands see here.

License

Phalcon Logentries is open-sourced software licensed under the New BSD License. © Phalcon Framework Team and contributors