You only need to supply the filename.
<?php
/* FILE Logger */
$fileLogger = new Barebone\Loggers\FileLogger(filename: TEMP_PATH.'log.txt');
$fileLogger->alert('This is serious!!');
Supply email and subject. LogType will be prepended to subject eg [alert] subject
<?php
/* EMAIL Logger */
$emailLogger = new Barebone\Loggers\EmailLogger(email: 'test@test.com',subject: 'Log email');
$emailLogger->emergency('This is serious!!');
Supply database pdo, tablename and column
<?php
/* DATABASE Logger */
$db = Registry()->getService('db');
$databaseLogger = new Barebone\Loggers\DatabaseLogger($db->pdo, [
'database' => 'Backbone',
'tablename' => 'logger',
'column_message' => 'log',
'column_timestamp' => 'log_timestamp',
'column_logtype' => 'log_type'
]);
$databaseLogger->debug('This is serious!!');
$databaseLogger->emergency('This is serious!!');
$databaseLogger->alert('This is serious!!');
$databaseLogger->info('This is serious!!');
Use Barebone\Loggers\Traits\LoggerAwareTrait in your class to get $this->logger
<?php
class TestTrait implements Barebone\Loggers\Interfaces\LoggerAwareInterface{
use Barebone\Loggers\Traits\LoggerAwareTrait;
function __construct(){
$this->setLogger( new Barebone\Loggers\FileLogger(TEMP_PATH.'log.txt') );
$this->getLogger()->alert('This is serious!!');
}
}
debug(new TestTrait);