diff --git a/src/Logger/Handler/DrupalHandler.php b/src/Logger/Handler/DrupalHandler.php
index c69d025..6525854 100644
--- a/src/Logger/Handler/DrupalHandler.php
+++ b/src/Logger/Handler/DrupalHandler.php
@@ -44,7 +44,7 @@ class DrupalHandler extends AbstractProcessingHandler {
   public function write(array $record) {
     // 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,
@@ -55,7 +55,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 3ac4f04..3046705 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]);
     }
 
