ランタイム ログを使用してアドインをデバッグする

ランタイム ログを使用して、アドインのマニフェストやいくつかのインストール エラーをデバッグできます。 この機能は、リソース ID の不一致のような XSD スキーマ検証では検出されないマニフェストの問題を識別して修正するのに役立ちます。 ランタイム ログは、アドイン コマンドと Excel カスタム関数を実装するアドインのデバッグに特に有効です。

注意

現在、ランタイム ログ機能は、2016 以降Officeデスクトップで使用できます。

重要

ランタイムのログはパフォーマンスに影響します。アドイン マニフェストに関する問題をデバッグする必要がある場合にのみ有効にしてください。

コマンド ラインからランタイム ログを使用する

コマンド ラインからランタイム ログを有効にするのが、このログ ツールを使用する最も簡単な方法です。 これは、npm@5.2.0+ の一部として既定で提供される npx を使用します。 以前のバージョンの npm を使用している場合は、Windows でのランタイム ログの手順か Mac でのランタイム ログの手順、または npx のインストールをお試しください。

重要

Office-addin-dev-settings ツールは Mac ではサポートされていません。

  • ランタイムのログを有効にするには、以下を実行します。

    npx office-addin-dev-settings runtime-log --enable
    
  • 特定のファイルに対してのみランタイム ログを有効にするには、ファイル名と同じコマンドを使用します。

    npx office-addin-dev-settings runtime-log --enable [filename.txt]
    
  • ランタイム ログを無効にするには、以下を実行します。

    npx office-addin-dev-settings runtime-log --disable
    
  • ランタイム ログが有効になっているかどうかを表示するには、以下を実行します。

    npx office-addin-dev-settings runtime-log
    
  • ランタイム ログのコマンド ライン内にヘルプを表示するには、以下を実行します。

    npx office-addin-dev-settings runtime-log --help
    

Windows でのランタイム ログ

  1. Office 2016 デスクトップのビルド 16.0.7019 以降を実行していることを確認します。

  2. HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\WEF\Developer\ の下に RuntimeLogging レジストリ キーを追加します。

    注意

    キー ( Developer フォルダー) が存在しない場合は、次の手順を実行して作成 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\WEF\ します。

    1. [WEF] キー (フォルダー) を右クリックし、[新規][キー] の順に選択します。
    2. 新しいキーに Developer という名前を付けます。
  3. RuntimeLogging キーの既定値にログを書き込むファイルの完全なパスを設定します。 例については、EnableRuntimeLogging.zip を参照してください。

    注意

    ログ ファイルが書き込まれるディレクトリが既に存在しており、書き込みアクセス許可がある必要があります。

レジストリは次の図のようになります。 この機能を無効にするには、RuntimeLogging キーをレジストリから削除します。

RuntimeLogging レジストリ キーを使用したレジストリ エディターのスクリーンショット。

Mac でのランタイム ログ

  1. Office 2016 デスクトップのビルド 16.27 (19071500) 以降を実行していることを確認します。

  2. ターミナル を開き、defaultsコマンドを使用してランタイム ログの優先度を設定します。

    defaults write <bundle id> CEFRuntimeLoggingFile -string <file_name>
    

    <bundle id>は、ランタイム ログを有効にするホストを識別します。 <file_name>は、ログが書き込まれるテキスト ファイルの名前です。

    対応 <bundle id> するアプリケーションのランタイム ログを有効にするには、次のいずれかの値に設定します。

    • com.microsoft.Word
    • com.microsoft.Excel
    • com.microsoft.Powerpoint
    • com.microsoft.Outlook

次の例では、Word のランタイム ログを有効にし、ログ ファイルを開きます。

defaults write com.microsoft.Word CEFRuntimeLoggingFile -string "runtime_logs.txt"
open ~/library/Containers/com.microsoft.Word/Data/runtime_logs.txt

注意

ランタイム ログを有効にするには、defaultsコマンドを実行した後に Office を再起動する必要があります。

ランタイム ログを無効にするには、defaults deleteコマンドを使用します。

defaults delete <bundle id> CEFRuntimeLoggingFile

次の例では、Word のランタイム ログを無効にします。

defaults delete com.microsoft.Word CEFRuntimeLoggingFile

ランタイム ログを使用してマニフェストでの問題のトラブルシューティングを行う

ランタイムのログを使用してアドインの読み込みに関する問題のトラブルシューティングを行うには、次のようにします。

  1. テスト用にアドインをサイドロードします。

    注意

    ログ ファイルのメッセージ数を最小限に抑えるため、テストするアドインのみをサイドロードすることをお勧めします。

  2. 何も起こらず、アドインが表示されない (アドイン ダイアログ ボックスにも表示されない) 場合は、ログ ファイルを開きます。

  3. ログ ファイルでアドインの ID を検索します。ID はマニフェストで定義します。ログ ファイルでは、この ID には SolutionId というラベルが付いています。

ランタイムのログに関する既知の問題

混乱を招くメッセージまたは正しく分類されていないメッセージがログ ファイルに書き込まれることがあります。たとえば次のような場合です。

  • メッセージ "Medium Current host not in add-in's host list" に続く "Unexpected Parsed manifest targeting different host" は、誤ってエラーとして分類されています。

  • SolutionId が含まれていないメッセージ "Unexpected Add-in is missing required manifest fields DisplayName" は、多くの場合、エラーはデバッグ対象のアドインと関係ありません。

  • Monitorable メッセージは、システムの観点からのエラーと予想されます。場合によっては、スキップされたがマニフェスト失敗の原因にはならなかったスペル ミスのある要素のような、マニフェストの問題を示していることがあります。

関連項目