Logger\AbstractLogger 
-
Namespace
Phalcon\Logger
-
Uses
DateTimeImmutableDateTimeZoneExceptionPhalcon\Logger\Adapter\AdapterInterfacePhalcon\Logger\Exception
-
Extends
-
Implements
Abstract Logger Class
Abstract logger class, providing common functionality. A formatter interface is available as well as an adapter one. Adapters can be created easily using the built in AdapterFactory. A LoggerFactory is also available that allows developers to create new instances of the Logger or load them from config files (see Phalcon\Config\Config object).
@property AdapterInterface[] $adapters @property array $excluded @property int $logLevel @property string $name @property string $timezone
Constants
const ALERT = 2;
const CRITICAL = 1;
const CUSTOM = 8;
const DEBUG = 7;
const EMERGENCY = 0;
const ERROR = 3;
const INFO = 6;
const NOTICE = 5;
const WARNING = 4;Properties
/**
* The adapter stack
*
* @var AdapterInterface[]
*/
protected $adapters;
/**
* The excluded adapters for this log process
*
* @var array
*/
protected $excluded;
/**
* Minimum log level for the logger
*
* @var int
*/
protected $logLevel = 8;
/**
* @var string
*/
protected $name = ;
/**
* @var DateTimeZone
*/
protected $timezone;Methods
public function __construct( string $name, array $adapters = [], DateTimeZone $timezone = null );Constructor.
public function addAdapter( string $name, AdapterInterface $adapter ): AbstractLogger;Add an adapter to the stack. For processing we use FIFO
public function excludeAdapters( array $adapters = [] ): AbstractLogger;Exclude certain adapters.
public function getAdapter( string $name ): AdapterInterface;Returns an adapter from the stack
public function getAdapters(): array;Returns the adapter stack array
public function getLogLevel(): int;Returns the log level
public function getName(): string;Returns the name of the logger
public function removeAdapter( string $name ): AbstractLogger;Removes an adapter from the stack
public function setAdapters( array $adapters ): AbstractLogger;Sets the adapters stack overriding what is already there
public function setLogLevel( int $level ): AbstractLogger;Sets the adapters stack overriding what is already there
protected function addMessage( int $level, string $message, array $context = [] ): bool;Adds a message to each handler for processing
protected function getLevelNumber( mixed $level ): int;Converts the level from string/word to an integer
protected function getLevels(): array;Returns an array of log levels with integer to string conversion
Logger\Adapter\AbstractAdapter 
-
Namespace
Phalcon\Logger\Adapter
-
Uses
Phalcon\Logger\ExceptionPhalcon\Logger\Formatter\FormatterInterfacePhalcon\Logger\Formatter\LinePhalcon\Logger\Item
-
Extends
-
Implements
AdapterInterface
Class AbstractAdapter
@property string $defaultFormatter @property FormatterInterface $formatter @property bool $inTransaction @property array $queue
Properties
/**
* Name of the default formatter class
*
* @var string
*/
protected $defaultFormatter = Phalcon\\Logger\Formatter\\Line;
/**
* Formatter
*
* @var FormatterInterface|null
*/
protected $formatter;
/**
* Tells if there is an active transaction or not
*
* @var bool
*/
protected $inTransaction = false;
/**
* Array with messages queued in the transaction
*
* @var array
*/
protected $queue;Methods
public function __destruct();Destructor cleanup
@throws Exception
public function __serialize(): array;Prevent serialization
public function __unserialize( array $data ): void;Prevent unserialization
public function add( Item $item ): AdapterInterface;Adds a message to the queue
public function begin(): AdapterInterface;Starts a transaction
public function commit(): AdapterInterface;Commits the internal transaction
public function getFormatter(): FormatterInterface;public function inTransaction(): bool;Returns the whether the logger is currently in an active transaction or not
abstract public function process( Item $item ): void;Processes the message in the adapter
public function rollback(): AdapterInterface;Rollbacks the internal transaction
public function setFormatter( FormatterInterface $formatter ): AdapterInterface;Sets the message formatter
protected function getFormattedItem( Item $item ): string;Returns the formatted item
Logger\Adapter\AdapterInterface 
-
Namespace
Phalcon\Logger\Adapter
-
Uses
Phalcon\Logger\Formatter\FormatterInterfacePhalcon\Logger\Item
-
Extends
-
Implements
Phalcon\Logger\AdapterInterface
Interface for Phalcon\Logger adapters
Methods
public function add( Item $item ): AdapterInterface;Adds a message in the queue
public function begin(): AdapterInterface;Starts a transaction
public function close(): bool;Closes the logger
public function commit(): AdapterInterface;Commits the internal transaction
public function getFormatter(): FormatterInterface;Returns the internal formatter
public function inTransaction(): bool;Returns the whether the logger is currently in an active transaction or not
public function process( Item $item ): void;Processes the message in the adapter
public function rollback(): AdapterInterface;Rollbacks the internal transaction
public function setFormatter( FormatterInterface $formatter ): AdapterInterface;Sets the message formatter
Logger\Adapter\Noop
-
Namespace
Phalcon\Logger\Adapter
-
Uses
Phalcon\Logger\Item
-
Extends
AbstractAdapter -
Implements
Class Noop
@package Phalcon\Logger\Adapter
Methods
public function close(): bool;Closes the stream
public function process( Item $item ): void;Processes the message i.e. writes it to the file
Logger\Adapter\Stream
-
Namespace
Phalcon\Logger\Adapter
-
Uses
LogicExceptionPhalcon\Logger\ExceptionPhalcon\Logger\Item
-
Extends
AbstractAdapter -
Implements
Phalcon\Logger\Adapter\Stream
Adapter to store logs in plain text files
$logger = new \Phalcon\Logger\Adapter\Stream('app/logs/test.log');
$logger->log('This is a message');
$logger->log(\Phalcon\Logger::ERROR, 'This is an error');
$logger->error('This is another error');
$logger->close();@property string $mode @property string $name @property array $options
Properties
/**
* The file open mode. Defaults to 'ab'
*
* @var string
*/
protected $mode = ab;
/**
* Stream name
*
* @var string
*/
protected $name;
/**
* Path options
*
* @var array
*/
protected $options;Methods
public function __construct( string $name, array $options = [] );Stream constructor.
public function close(): bool;Closes the stream
public function getName(): string;Stream name
public function process( Item $item ): void;Processes the message i.e. writes it to the file
protected function phpFopen( string $filename, string $mode );@todo to be removed when we get traits
Logger\Adapter\Syslog
-
Namespace
Phalcon\Logger\Adapter
-
Uses
LogicExceptionPhalcon\Logger\ItemPhalcon\Logger\Logger
-
Extends
AbstractAdapter -
Implements
Class Syslog
@property string $defaultFormatter @property int $facility @property string $name @property bool $opened @property int $option
Properties
/**
* @var int
*/
protected $facility = ;
/**
* @var string
*/
protected $name = ;
/**
* @var bool
*/
protected $opened = false;
/**
* @var int
*/
protected $option = ;Methods
public function __construct( string $name, array $options = [] );Syslog constructor.
public function close(): bool;Closes the logger
public function process( Item $item ): void;Processes the message i.e. writes it to the syslog
protected function openlog( string $ident, int $option, int $facility ): bool;Open connection to system logger
@link https://php.net/manual/en/function.openlog.php
Logger\AdapterFactory
-
Namespace
Phalcon\Logger
-
Uses
Phalcon\Factory\AbstractFactoryPhalcon\Logger\Adapter\AdapterInterfacePhalcon\Logger\Exception
-
Extends
AbstractFactory -
Implements
Factory used to create adapters used for Logging
Methods
public function __construct( array $services = [] );AdapterFactory constructor.
public function newInstance( string $name, string $fileName, array $options = [] ): AdapterInterface;Create a new instance of the adapter
protected function getExceptionClass(): string;protected function getServices(): array;Returns the available adapters
Logger\Enum
-
Namespace
Phalcon\Logger
-
Uses
-
Extends
-
Implements
Log Level Enum constants
Constants
const ALERT = 2;
const CRITICAL = 1;
const CUSTOM = 8;
const DEBUG = 7;
const EMERGENCY = 0;
const ERROR = 3;
const INFO = 6;
const NOTICE = 5;
const WARNING = 4;Logger\Exception
-
Namespace
Phalcon\Logger
-
Uses
-
Extends
\Exception -
Implements
Phalcon\Logger\Exception
Exceptions thrown in Phalcon\Logger will use this class
Logger\Formatter\AbstractFormatter 
-
Namespace
Phalcon\Logger\Formatter
-
Uses
DateTimeImmutablePhalcon\Logger\ItemPhalcon\Support\Helper\Str\AbstractStr
-
Extends
AbstractStr -
Implements
FormatterInterface
Class AbstractFormatter
Properties
/**
* Default date format
*
* @var string
*/
protected $dateFormat = c;
/**
* @var string
*/
protected $interpolatorLeft = %;
/**
* @var string
*/
protected $interpolatorRight = %;Methods
public function getDateFormat(): string;public function setDateFormat( string $format ): void;protected function getFormattedDate( Item $item ): string;Returns the date formatted for the logger.
protected function getInterpolatedMessage( Item $item, string $message ): string;Logger\Formatter\FormatterInterface 
-
Namespace
Phalcon\Logger\Formatter
-
Uses
Phalcon\Logger\Item
-
Extends
-
Implements
Phalcon\Logger\FormatterInterface
This interface must be implemented by formatters in Phalcon\Logger
Methods
public function format( Item $item ): string;Applies a format to an item
Logger\Formatter\Json
-
Namespace
Phalcon\Logger\Formatter
-
Uses
JsonExceptionPhalcon\Logger\Item
-
Extends
AbstractFormatter -
Implements
Formats messages using JSON encoding
Methods
public function __construct( string $dateFormat = string, string $interpolatorLeft = string, string $interpolatorRight = string );Json constructor.
public function format( Item $item ): string;Applies a format to a message before sent it to the internal log
Logger\Formatter\Line
-
Namespace
Phalcon\Logger\Formatter
-
Uses
ExceptionPhalcon\Logger\Item
-
Extends
AbstractFormatter -
Implements
Class Line
Properties
/**
* Format applied to each message
*
* @var string
*/
protected $format;Methods
public function __construct( string $format = string, string $dateFormat = string, string $interpolatorLeft = string, string $interpolatorRight = string );Line constructor.
public function format( Item $item ): string;Applies a format to a message before sent it to the internal log
public function getFormat(): string;Return the format applied to each message
public function setFormat( string $format ): Line;Set the format applied to each message
Logger\Item
-
Namespace
Phalcon\Logger
-
Uses
DateTimeImmutable
-
Extends
-
Implements
Phalcon\Logger\Item
Represents each item in a logging transaction
@property array $context @property string $message @property int $level @property string $levelName @property DateTimeImmutable $datetime
Properties
/**
* @var array
*/
protected $context;
/**
* @var DateTimeImmutable
*/
protected $dateTime;
/**
* @var string
*/
protected $message;
/**
* @var int
*/
protected $level;
/**
* @var string
*/
protected $levelName;Methods
public function __construct( string $message, string $levelName, int $level, DateTimeImmutable $dateTime, array $context = [] );Item constructor.
public function getContext(): array;public function getDateTime(): DateTimeImmutable;public function getLevel(): int;public function getLevelName(): string;public function getMessage(): string;Logger\Logger
-
Namespace
Phalcon\Logger
-
Uses
ExceptionPhalcon\Logger\Exception
-
Extends
AbstractLogger -
Implements
LoggerInterface
Phalcon Logger.
A logger, with various adapters and formatters. A formatter interface is available as well as an adapter one. Adapters can be created easily using the built-in AdapterFactory. A LoggerFactory is also available that allows developers to create new instances of the Logger or load them from config files (see Phalcon\Config\Config object).
Methods
public function alert( string $message, array $context = [] ): void;Action must be taken immediately.
Example: Entire website down, database unavailable, etc. This should trigger the SMS alerts and wake you up.
public function critical( string $message, array $context = [] ): void;Critical conditions.
Example: Application component unavailable, unexpected exception.
public function debug( string $message, array $context = [] ): void;Detailed debug information.
public function emergency( string $message, array $context = [] ): void;System is unusable.
public function error( string $message, array $context = [] ): void;Runtime errors that do not require immediate action but should typically be logged and monitored.
public function info( string $message, array $context = [] ): void;Interesting events.
Example: User logs in, SQL logs.
public function log( mixed $level, string $message, array $context = [] ): void;Logs with an arbitrary level.
public function notice( string $message, array $context = [] ): void;Normal but significant events.
public function warning( string $message, array $context = [] ): void;Exceptional occurrences that are not errors.
Example: Use of deprecated APIs, poor use of an API, undesirable things that are not necessarily wrong.
Logger\LoggerFactory
-
Namespace
Phalcon\Logger
-
Uses
DateTimeZonePhalcon\Config\ConfigInterfacePhalcon\Factory\AbstractConfigFactory
-
Extends
AbstractConfigFactory -
Implements
Factory creating logger objects
Properties
/**
* @var AdapterFactory
*/
private $adapterFactory;Methods
public function __construct( AdapterFactory $factory );public function load( mixed $config ): Logger;Factory to create an instance from a Config object
public function newInstance( string $name, array $adapters = [], DateTimeZone $timezone = null ): Logger;Returns a Logger object
protected function getArrVal( array $collection, mixed $index, mixed $defaultValue = null ): mixed;@todo Remove this when we get traits
protected function getExceptionClass(): string;Logger\LoggerInterface 
-
Namespace
Phalcon\Logger
-
Uses
Phalcon\Logger\Adapter\AdapterInterface
-
Extends
-
Implements
Interface for Phalcon based logger objects.
Methods
public function alert( string $message, array $context = [] ): void;Action must be taken immediately.
Example: Entire website down, database unavailable, etc. This should trigger the SMS alerts and wake you up.
public function critical( string $message, array $context = [] ): void;Critical conditions.
Example: Application component unavailable, unexpected exception.
public function debug( string $message, array $context = [] ): void;Detailed debug information.
public function emergency( string $message, array $context = [] ): void;System is unusable.
public function error( string $message, array $context = [] ): void;Runtime errors that do not require immediate action but should typically be logged and monitored.
public function getAdapter( string $name ): AdapterInterface;Returns an adapter from the stack
public function getAdapters(): array;Returns the adapter stack array
public function getLogLevel(): int;Returns the log level
public function getName(): string;Returns the name of the logger
public function info( string $message, array $context = [] ): void;Interesting events.
Example: User logs in, SQL logs.
public function log( mixed $level, string $message, array $context = [] ): void;Logs with an arbitrary level.
public function notice( string $message, array $context = [] ): void;Normal but significant events.
public function warning( string $message, array $context = [] ): void;Normal but significant events.