resourceloader: Log if MessageBlobStore failed to fetch a message
authorTimo Tijhof <krinklemail@gmail.com>
Tue, 10 Nov 2015 04:40:31 +0000 (04:40 +0000)
committerTimo Tijhof <krinklemail@gmail.com>
Tue, 10 Nov 2015 04:40:31 +0000 (04:40 +0000)
Bug: T93800
Change-Id: I6f174251a6b9a6b31921037f672dbc197f3abb7e

includes/cache/MessageBlobStore.php

index ab7e171..dcb358f 100644 (file)
@@ -321,6 +321,19 @@ class MessageBlobStore {
                return $updates;
        }
 
+       /**
+        * @param string $key Message key
+        * @param string $lang Language code
+        * @return string
+        */
+       private function fetchMessage( $key, $lang ) {
+               $message = wfMessage( $key )->inLanguage( $lang );
+               if ( !$message->exists() ) {
+                       wfDebugLog( 'resourceloader', __METHOD__ . " failed to find: '$key' ($lang)" );
+               }
+               return $message->plain();
+       }
+
        /**
         * Reencode a message blob with the updated value for a message
         *
@@ -331,8 +344,7 @@ class MessageBlobStore {
         */
        private function reencodeBlob( $blob, $key, $lang ) {
                $decoded = FormatJson::decode( $blob, true );
-               $decoded[$key] = wfMessage( $key )->inLanguage( $lang )->plain();
-
+               $decoded[$key] = $this->fetchMessage( $key, $lang );
                return FormatJson::encode( (object)$decoded );
        }
 
@@ -390,7 +402,7 @@ class MessageBlobStore {
                $messages = array();
 
                foreach ( $module->getMessages() as $key ) {
-                       $messages[$key] = wfMessage( $key )->inLanguage( $lang )->plain();
+                       $messages[$key] = $this->fetchMessage( $key, $lang );
                }
 
                return FormatJson::encode( (object)$messages );