Attention

TYPO3 v7 has reached its end-of-life November 30th, 2018 and is not maintained by the community anymore. Looking for a stable version? Use the version switch on the top left.

There is no further ELTS support. It is recommended that you upgrade your project and use a supported version of TYPO3.

Logger

Instantiation

The LogManager enables an auto-configured usage of loggers in your PHP code by reading the logging configuration and setting the minimum severity level of the Logger accordingly.

/** @var $logger \TYPO3\CMS\Core\Log\Logger */
$logger = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\CMS\Core\Log\LogManager')->getLogger(__CLASS__);

Using __CLASS__ as name for the logger is recommended to enable logging configuration based on the class hierarchy.

Log() method

\TYPO3\CMS\Core\Log\Logger provides a central point for submitting log messages, the log() method:

$logger->log($level, $message, $data);

which takes three parameters:

Parameter

Type

Description

$level

Type integer

One of either:

  • \TYPO3\CMS\Core\Log\LogLevel::EMERGENCY

  • \TYPO3\CMS\Core\Log\LogLevel::ALERT

  • \TYPO3\CMS\Core\Log\LogLevel::CRITICAL

  • \TYPO3\CMS\Core\Log\LogLevel::ERROR

  • \TYPO3\CMS\Core\Log\LogLevel::WARNING

  • \TYPO3\CMS\Core\Log\LogLevel::NOTICE

  • \TYPO3\CMS\Core\Log\LogLevel::INFO

  • \TYPO3\CMS\Core\Log\LogLevel::DEBUG

$message

Type string

The log message itself.

$data

Type array

Optional parameter, can contain additional data, which is added to the log record in the form of an array.

An early return in the log() method prevents unneeded computation work to be done. So you are safe to call $logger->debug() frequently without slowing down your code too much. The Logger will know by its configuration, what the most explicit severity level is.

As next step, all registered Processors are notified. They can modify the log records or add extra information.

The Logger then forwards the log records to all of its configured Writers, which will then persist the log record.

Shorthand methods

For each of the severity levels mentioned above, a shorthand method exists in \TYPO3\CMS\Core\Log\Logger, like

  • $logger->debug($message, array $data = array());

  • $logger->info($message, array $data = array());

  • $logger->notice($message, array $data = array());

  • etc.