Abstract Class Phalcon\Logger\Adapter\AbstractAdapter

GitHub上のソース

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

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;

メソッド

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

Interface Phalcon\Logger\Adapter\AdapterInterface

GitHub上のソース

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

Class Phalcon\Logger\Adapter\Noop

GitHub上のソース

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

Class Phalcon\Logger\Adapter\Stream

GitHub上のソース

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

Properties

/**
 * 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

Class Phalcon\Logger\Adapter\Syslog

GitHub上のソース

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

Properties

/**
 * @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

Class Phalcon\Logger\AdapterFactory

GitHub上のソース

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

Class Phalcon\Logger\Exception

GitHub上のソース

Namespace Phalcon\Logger   Extends \Exception

Phalcon\Logger\Exception

Exceptions thrown in Phalcon\Logger will use this class

Abstract Class Phalcon\Logger\Formatter\AbstractFormatter

GitHub上のソース

Namespace Phalcon\Logger\Formatter   Uses Phalcon\Logger\Item, Phalcon\Support\Helper\Str\AbstractStr   Extends AbstractStr   Implements FormatterInterface

Class AbstractFormatter

@property string $dateFormat

Properties

/**
 * 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.

Interface Phalcon\Logger\Formatter\FormatterInterface

GitHub上のソース

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

Class Phalcon\Logger\Formatter\Json

GitHub上のソース

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

Class Phalcon\Logger\Formatter\Line

GitHub上のソース

Namespace Phalcon\Logger\Formatter   Uses Exception, Phalcon\Logger\Item   Extends AbstractFormatter

Class Line

@property string $format

Properties

/**
 * 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 )

Class Phalcon\Logger\Item

GitHub上のソース

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

Properties

/**
 * @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

Class Phalcon\Logger\Logger

GitHub上のソース

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;

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|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

Class Phalcon\Logger\LoggerFactory

GitHub上のソース

Namespace Phalcon\Logger   Uses DateTimeZone, Phalcon\Config\ConfigInterface, Phalcon\Factory\AbstractConfigFactory   Extends AbstractConfigFactory

Factory creating logger objects

Properties

/**
 * @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;