---
title: "Important: #94315 - Use proper PSR-3 logging messages and context"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:important-94315"
source: "Changelog/11.3/Important-94315-UseProperPSR-3LoggingMessagesAndContext.rst"
modified: "2026-09-14T09:47:36+00:00"
---

# Important: #94315 - Use proper PSR-3 logging messages and context

See [forge#94315](https://forge.typo3.org/issues/94315)

## Description

The v11 Core is looking into proper PSR-3 Logging implementation again. When
analyzing the current situation, we realized many Core logging calls were
using messages that violated the PSR-3
[placeholder specification](https://www.php-fig.org/psr/psr-3/).

The v11 Core fixed all places, but it's likely extensions have this issue,
too. Extension developers should have a look at their logger calls and adapt
them if necessary.

Typical call before:

```php
$this->logger->alert(
   'Password reset requested for email "' .
   $emailAddress . '" . but was requested too many times.'
);
```

Correct call:

```php
$this->logger->alert(
   'Password reset requested for email {email} but was requested too many times.',
   ['email' => $emailAddress]
);
```

First argument is `message`, second (optional) argument is `context`.
A message can use `{placeholders}`.

All Core provided log writers will substitute placeholders in the message
with data from the context array, if a context array key with same name exists.
