Namespace | Phalcon\Logger\Adapter | Uses | Phalcon\Logger\Exception, Phalcon\Logger\Formatter\FormatterInterface, Phalcon\Logger\Formatter\Line, Phalcon\Logger\Item | Implements | AdapterInterface |
Class AbstractAdapter
@property string $defaultFormatter @property FormatterInterface $formatter @property bool $inTransaction @property array $queue
/**
* 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;
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
Namespace | Phalcon\Logger\Adapter | Uses | Phalcon\Logger\Formatter\FormatterInterface, Phalcon\Logger\Item |
Phalcon\Logger\AdapterInterface
Interface for Phalcon\Logger adapters
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
Namespace | Phalcon\Logger\Adapter | Uses | Phalcon\Logger\Item | Extends | AbstractAdapter |
Class Noop
@package Phalcon\Logger\Adapter
public function close(): bool;
Closes the stream
public function process( Item $item ): void;
Processes the message i.e. writes it to the file
Namespace | Phalcon\Logger\Adapter | Uses | LogicException, Phalcon\Logger\Exception, Phalcon\Logger\Item | Extends | AbstractAdapter |
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 resource | null $handler @property string $mode @property string $name @property array $options |
/**
* Stream handler resource
*
* @var resource|null
*/
protected handler;
/**
* The file open mode. Defaults to 'ab'
*
* @var string
*/
protected mode = ab;
/**
* Stream name
*
* @var string
*/
protected name;
/**
* Path options
*
* @var array
*/
protected options;
public function __construct( string $name, array $options = [] );
Stream constructor.
public function close(): bool;
Closes the stream
public function getName(): string
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
Namespace | Phalcon\Logger\Adapter | Uses | LogicException, Phalcon\Logger\Item, Phalcon\Logger\Logger | Extends | AbstractAdapter |
Class Syslog
@property string $defaultFormatter @property int $facility @property string $name @property bool $opened @property int $option
/**
* @var int
*/
protected facility = 0;
/**
* @var string
*/
protected name = ;
/**
* @var bool
*/
protected opened = false;
/**
* @var int
*/
protected option = 0;
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
Namespace | Phalcon\Logger | Uses | Phalcon\Factory\AbstractFactory, Phalcon\Logger\Adapter\AdapterInterface, Phalcon\Logger\Exception | Extends | AbstractFactory |
Factory used to create adapters used for Logging
public function __construct( array $services = [] );
AdapterFactory コンストラクタ
public function newInstance( string $name, string $fileName, array $options = [] ): AdapterInterface;
このアダプターの新しいインスタンスを作成
protected function getExceptionClass(): string;
protected function getServices(): array;
Returns the available adapters
Namespace | Phalcon\Logger | Extends | \Exception |
Phalcon\Logger\Exception
Exceptions thrown in Phalcon\Logger will use this class
Namespace | Phalcon\Logger\Formatter | Uses | Phalcon\Logger\Item, Phalcon\Support\Helper\Str\AbstractStr | Extends | AbstractStr | Implements | FormatterInterface |
Class AbstractFormatter
@property string $dateFormat
/**
* Default date format
*
* @var string
*/
protected dateFormat = c;
public function getDateFormat(): string
public function setDateFormat( string $dateFormat )
protected function getFormattedDate( Item $item ): string;
Returns the date formatted for the logger.
Namespace | Phalcon\Logger\Formatter | Uses | Phalcon\Logger\Item |
Phalcon\Logger\FormatterInterface
This interface must be implemented by formatters in Phalcon\Logger
public function format( Item $item ): string | array;
Applies a format to an item
Namespace | Phalcon\Logger\Formatter | Uses | JsonException, Phalcon\Logger\Item | Extends | AbstractFormatter |
Phalcon\Logger\Formatter\Json
Formats messages using JSON encoding
public function __construct( string $dateFormat = string );
Json constructor.
public function format( Item $item ): string;
Applies a format to a message before sent it to the internal log
Namespace | Phalcon\Logger\Formatter | Uses | Exception, Phalcon\Logger\Item | Extends | AbstractFormatter |
Class Line
@property string $format
/**
* Format applied to each message
*
* @var string
*/
protected format;
public function __construct( string $format = string, string $dateFormat = 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
public function setFormat( string $format )
Namespace | Phalcon\Logger | Uses | DateTimeImmutable |
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
/**
* @var array
*/
protected context;
/**
* @var string
*/
protected message;
/**
* @var int
*/
protected level;
/**
* @var string
*/
protected levelName;
/**
* @var DateTimeImmutable
*/
protected dateTime;
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
Namespace | Phalcon\Logger | Uses | DateTimeImmutable, DateTimeZone, Exception, Phalcon\Logger\Adapter\AdapterInterface, Phalcon\Logger\Exception, Psr\Log\InvalidArgumentException, Psr\Log\LoggerInterface | Implements | LoggerInterface |
Phalcon Logger.
A PSR compatible 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).
@package Phalcon\Logger
@property AdapterInterface[] $adapters @property array $excluded @property int $logLevel @property string $name @property string $timezone
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;
/**
* 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|null
*/
protected timezone;
public function __construct( string $name, array $adapters = [], DateTimeZone $timezone = null );
Constructor.
public function addAdapter( string $name, AdapterInterface $adapter ): Logger;
Add an adapter to the stack. For processing we use FIFO
public function alert( mixed $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( mixed $message, array $context = [] ): void;
Critical conditions.
Example: Application component unavailable, unexpected exception.
public function debug( mixed $message, array $context = [] ): void;
Detailed debug information.
public function emergency( mixed $message, array $context = [] ): void;
System is unusable.
public function error( mixed $message, array $context = [] ): void;
Runtime errors that do not require immediate action but should typically be logged and monitored.
public function excludeAdapters( array $adapters = [] ): Logger;
Exclude certain adapters.
public function getAdapter( string $name ): AdapterInterface;
Returns an adapter from the stack
public function getAdapters(): AdapterInterface[]
public function getLogLevel(): int
public function getName(): string
public function info( mixed $message, array $context = [] ): void;
Interesting events.
Example: User logs in, SQL logs.
public function log( mixed $level, mixed $message, array $context = [] ): void;
Logs with an arbitrary level.
public function notice( mixed $message, array $context = [] ): void;
Normal but significant events.
public function removeAdapter( string $name ): Logger;
Removes an adapter from the stack
public function setAdapters( array $adapters ): Logger;
Sets the adapters stack overriding what is already there
public function setLogLevel( int $level ): Logger;
Sets the adapters stack overriding what is already there
public function warning( mixed $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.
protected function addMessage( int $level, string $message, array $context = [] ): bool;
Adds a message to each handler for processing
protected function getLevels(): array;
Returns an array of log levels with integer to string conversion
Namespace | Phalcon\Logger | Uses | DateTimeZone, Phalcon\Config\ConfigInterface, Phalcon\Factory\AbstractConfigFactory | Extends | AbstractConfigFactory |
Factory creating logger objects
/**
* @var AdapterFactory
*/
private adapterFactory;
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;