Breaking: #110221 - Class Logger declared final
See forge#110221
Description
The PHP class
\TYPO3\ has been declared
final
and is now instantiated directly via
new
within
\TYPO3\, instead of using
General.
The logger is a plain, per-channel object created and configured by the
Log. Routing its creation through
make only
served to allow overriding the class via XCLASS, which is not a supported
extension point for the logging API.
Impact
Extending or XCLASSing
Logger
is not possible anymore. Extension
classes will raise a fatal PHP error, XCLASS configurations for this class
are silently ignored.
Obtaining and using loggers via dependency injection, the
#
attribute,
Logger or
Log continues to work as before.
Affected installations
TYPO3 installations with third-party extensions that extend or XCLASS the
class
Logger
, which is very unlikely.
Migration
To customize logging behavior, implement the PSR-3
\Psr\ and provide the instances through a custom
\TYPO3\ implementation, or attach
custom log writers (
\TYPO3\) and
processors (
\TYPO3\) to the
existing logger, which is the designated way to influence how log records
are handled.