Phalcon Logentries
, (*1)
Phalcon library to connect and make log entries using Logentries.
You can adapt it to your own needs or improve it if you want., (*2)
Please write us if you have any feedback., (*3)
Thanks., (*4)
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., (*5)
Get Started
Requirements
To use this library on your machine, you need at least:, (*6)
Development requirements:, (*7)
Installation
Install composer in a common location or in your project:, (*8)
$ curl -s http://getcomposer.org/installer | php
Create the composer.json file as follows:, (*9)
{
"require": {
"phalcon/logentries": "~1.2"
}
}
Run the composer installer:, (*10)
$ 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., (*11)
Then create adapter instance:, (*12)
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., (*13)
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:, (*14)
- host_name_enabled
- host_name
- host_id
For example:, (*15)
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., (*16)
To set a custom Host ID that will appear in your PHP log events as Key / Value pairs:
* Enter a value instead of the empty string in host_id => ''
;
* If no host_id
is set and the empty string is left unaltered, no Host ID or Key / Value pairing will appear in your PHP logs., (*17)
Creating a Log
The example below shows how to create a log and add messages to it:, (*18)
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., (*19)
First you need to re-generate base classes for all suites:, (*20)
$ vendor/bin/codecept build
Execute all test with run
command:, (*21)
$ vendor/bin/codecept run
# OR
$ vendor/bin/codecept run --debug # Detailed output
More details about Console Commands see here., (*22)
License
Phalcon Logentries is open-sourced software licensed under the [New BSD License][7].
© Phalcon Framework Team and contributors, (*23)