diff --git a/src/Logger/Handler/DrupalHandler.php b/src/Logger/Handler/DrupalHandler.php
index 9f0e5de..b569438 100644
--- a/src/Logger/Handler/DrupalHandler.php
+++ b/src/Logger/Handler/DrupalHandler.php
@@ -46,7 +46,7 @@ class DrupalHandler extends AbstractProcessingHandler {
   public function write(array $record): void {
     // Set up context with the data Drupal loggers expect.
     // @see Drupal\Core\Logger\LoggerChannel::log()
-    $context = $record['context'] + [
+    $context = $record['context'] + ($record['drupal_context_placeholders'] ?? []) + [
       'channel' => $record['channel'],
       'link' => '',
       'user' => isset($record['extra']['user']) ? $record['extra']['user'] : NULL,
@@ -57,7 +57,7 @@ class DrupalHandler extends AbstractProcessingHandler {
       'timestamp' => $record['datetime']->format('U'),
     ];
     $level = static::$levels[$record['level']];
-    $this->logger->log($level, $record['message'], $context);
+    $this->logger->log($level, $record['drupal_message'] ?? $record['message'], $context);
   }
 
 }
diff --git a/src/Logger/Processor/MessagePlaceholderProcessor.php b/src/Logger/Processor/MessagePlaceholderProcessor.php
index 443638f..2e0a297 100644
--- a/src/Logger/Processor/MessagePlaceholderProcessor.php
+++ b/src/Logger/Processor/MessagePlaceholderProcessor.php
@@ -32,11 +32,13 @@ class MessagePlaceholderProcessor {
   public function __invoke(array $record) {
     // Populate the message placeholders and then replace them in the message.
     $message_placeholders = $this->parser->parseMessagePlaceholders($record['message'], $record['context']);
+    $record['drupal_message'] = $record['message'];
     $record['message'] = empty($message_placeholders) ? $record['message'] : strtr($record['message'], $message_placeholders);
 
     // Remove the replaced placeholders from the context to prevent logging the
     // same information twice.
-    foreach (array_keys($message_placeholders) as $placeholder) {
+    foreach ($message_placeholders as $placeholder => $value) {
+      $record['drupal_context_placeholders'][$placeholder] = $value;
       unset($record['context'][$placeholder]);
     }
 
